RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / user-372752

evYpe's questions

Martin Hope
evYpe
Asked: 2022-08-10 07:38:48 +0000 UTC

需要帮助优化字典生成器

  • 0

我有一个字典列表:

[{'id': '1_2', 'iMaxSrc': 1}, {'id': '1_3', 'iMaxSrc': 0.5}, {'id': '3_5', 'iMaxSrc': 0.6}]

还有一本字典:

{'1_2': -0.006889606764994206, '1_3': -0.009956226776053036, '3_5': -0.009749068707461056}

我需要得到一个字典,其中的键将是第二个字典的键,值将是一个表达式value_dict2 / value_list_dict * 100。此外,表达式的值应该取自列表中的这样一个字典,其中键值'id'=第二个字典元素的键。

例如,列表中的第一个字典有一个键值id = '1_2',这意味着这个字典中的键值'iMaxSrc'必须在'1_2'第二个字典中的键值的表达式中。

我使用复杂的生成器解决了这个问题,如下所示:

{edge['id']: convert_kiloamps_to_percentage(edge['iMaxSrc'],current_edge_change[edge['id']]) for edge in edges}

其中函数 convert_kiloamps_to_percentage(edge['iMaxSrc'],current_edge_change[edge['id']]) 计算表达式。

生成器结果:

{'1_2': -0.6889606764994206, '1_3': -0.9956226776053037,'3_5': -0.9749068707461056}

问:我有没有奖励什么?有一个更好的方法吗?致美)

python dict
  • 1 个回答
  • 28 Views
Martin Hope
evYpe
Asked: 2022-07-23 23:18:27 +0000 UTC

未找到模块。再次?

  • 0

大家好。我在这里描述了同样的问题,但在测试中没有。未找到模块

下面的情况是文件夹 D:\repositories\ED。PYTHONPATH 变量设置为 D:\repositories\ED。它有一个elements文件夹,里面有三个文件:element.py、node.py和init .py在.venv文件夹中创建了一个虚拟环境,结果结构如下:\

ED:
    .venv
    elements:
        __init__.py
        element.py
        node.py

elements.py 文件定义了 Element 类,node.py 文件定义了 Node 类,Node 类继承自 Element 类。尝试在 node.py 中导入 Element 类时,出现未找到模块错误。

from elements.element import Element


class Node(Element):

    def __init__(
        self,
        is_base: bool = False,
        elements: Union[list, tuple, tensor] = None
    ) -> None:
        self.is_base = is_base
        self.elements = elements

那些。如果您尝试创建 Node 类的对象,如下所示:

from elements.element import Element


class Node(Element):

    def __init__(
        self,
        is_base: bool = False,
        elements: Union[list, tuple, tensor] = None
    ) -> None:
        self.is_base = is_base
        self.elements = elements


node = Node(name='node', u_nom=220.0)

然后我们得到一个错误

(.venv) PS D:\repositories\ED> & d:/repositories/ED/.venv/Scripts/python.exe d:/repositories/ED/elements/node.py
Traceback (most recent call last):
  File "d:\repositories\ED\elements\node.py", line 7, in <module>
    from elements.element import Element
ModuleNotFoundError: No module named 'elements'

人们会觉得我对正在发生的事情的本质存在某种根本性的误解。为什么会出现这样的错误?特别感谢您提供指向可以获取有关此主题的知识的地方的链接。谢谢你。

python
  • 1 个回答
  • 10 Views
Martin Hope
evYpe
Asked: 2022-07-04 03:25:44 +0000 UTC

未找到模块

  • 1

创建了一个简单的项目。我正在使用虚拟环境。项目结构如下:

root:
    physical:
        test:
            __init__.py
            test_week.py
        __init__.py
        week_number.py

在测试文件中,我试图从 week_number.py 模块导入一个函数。导入看起来像这样:

from pytest_mock import mocker

from physical.week_number import get_week_number


def test_get_week_number_1():
    with mocker.patch.object(__builtins__, 'input', lambda: '2021.09.24'):
        assert get_week_number() == 15

但我收到一个错误ModuleNotFoundError: No module named 'physical'

此外,在测试函数中会自动找到并写入 vsc 导入行,即 自动 vsc 工具可以规定这种依赖关系,为什么测试运行看不到模块?我尝试不通过测试,而只是创建一个单独的文件,然后尝试通过首先导入来运行该函数。同样的错误。

python
  • 1 个回答
  • 68 Views
Martin Hope
evYpe
Asked: 2022-04-30 14:58:41 +0000 UTC

如何根据字段之一的值进行不同的验证

  • 1

问题如下:

我们有具有以下结构的 JSON:

{
    key1: [
        {
         type_x: str,
         atr1: str,
         atr2: int
        },
        {
         type_x: str,
         atr1: str
        },
        {
         type_x: str,
         atr1: str,
         atr2: int,
         atr3: int
        },
    ],
    key2: [
        {
         atr1: str,
         atr2: int
        }
    ]
}

我需要创建一个用于验证的模型,但是对于键 key1 的字典列表的不同元素,我需要根据 type_x 键的值应用不同的验证。如您所见,列表元素中的参数数量不同,比方说,所需的参数取决于 type_x 参数的值。例如,如果值为type_x = 'base',则其模型为:

class MyBase(BaseClass):
    type_x: str
    atr1: str
    atr2: int

如果值type_x = 'root':

class MyRoot(BaseClass):
    type_x: str
    atr1: str
    atr3: int

我想出了如何为 key1 列表的每个元素编写相同的验证:

class MyClass(BaseClass):
    type_x: str
    atr1: str
    atr2: int

但是如何根据type_x的值做出不同的必填参数呢?当然,理想情况下,这应该在一个通用模型的框架内完成,以免为每个版本的 type_x 值生成单独的模型。谢谢你。

python
  • 2 个回答
  • 10 Views
Martin Hope
evYpe
Asked: 2020-04-25 11:20:30 +0000 UTC

从 QCalendarWidget 获取日期

  • 1

我正在使用PyQt5库在Python中编写一个小型应用程序。

你需要什么:

在小部件中QLabel或QTextEdit(不重要)您需要显示n从小部件中所选日期减去天数的日期QCalendarWidget。

我试图理解图书馆的描述,但我不能。

class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(1103, 600)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.calendarWidget = QtWidgets.QCalendarWidget(self.centralwidget)
        self.calendarWidget.setGeometry(QtCore.QRect(0, 30, 561, 541))
        self.calendarWidget.setGridVisible(True)
        self.calendarWidget.setSelectionMode(QtWidgets.QCalendarWidget.SingleSelection)
        self.calendarWidget.setHorizontalHeaderFormat(QtWidgets.QCalendarWidget.ShortDayNames)
        self.calendarWidget.setVerticalHeaderFormat(QtWidgets.QCalendarWidget.NoVerticalHeader)
        self.calendarWidget.setObjectName("calendarWidget")
        self.label = QtWidgets.QLabel(self.centralwidget)
        self.label.setGeometry(QtCore.QRect(590, 30, 451, 121))
        self.label.setObjectName("label")
        self.textEdit = QtWidgets.QTextEdit(self.centralwidget)
        self.textEdit.setGeometry(QtCore.QRect(640, 180, 221, 71))
        self.textEdit.setObjectName("textEdit")
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 1103, 21))
        self.menubar.setObjectName("menubar")
        MainWindow.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)

        self.retranslateUi(MainWindow)
        self.calendarWidget.clicked['QDate'].connect(self.label.setObjectName(???)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

在这行代码中:

self.calendarWidget.clicked['QDate'].connect(self.label.setObjectName(???)

你需要写一些东西让它工作。
或者,也许我基本上选择了错误的路径,而我的设想更容易实现?

python
  • 2 个回答
  • 10 Views
Martin Hope
evYpe
Asked: 2020-03-22 14:44:37 +0000 UTC

打开工作簿时,跳转到当前日期的单元格[关闭]

  • -1
关闭 这个问题是题外话。目前不接受回复。

寻求调试帮助的问题(“为什么这段代码不起作用? ”)应该包括期望的行为、具体的问题或错误,以及在问题中重现它的最少代码。没有明确描述问题的问题对其他访问者毫无用处。请参阅如何创建一个最小的、独立的和可重现的示例。

2年前关闭。

改进问题

我们需要一个宏,当文件启动或运行宏时,会自动将光标放在值对应于当前日期的单元格上。

在该列中,所有单元格都具有格式为 的日期值дд МММ___ДДД。单元格范围B4:B290

谢谢

excel
  • 1 个回答
  • 10 Views
Martin Hope
evYpe
Asked: 2020-03-15 23:38:03 +0000 UTC

无法在 PyCharm 中安装软件包

  • 0

尝试安装软件包时,会出现错误。例如:尝试安装 pycrypto 包时。我收到一个错误:

Collecting pycrypto   Using cached pycrypto-2.6.1.tar.gz (446 kB) Building wheels for collected packages: pycrypto   Building wheel for pycrypto (setup.py): started   Building wheel for pycrypto (setup.py): finished with status 'error'   Running setup.py clean for pycrypto Failed to build pycrypto Installing collected packages: pycrypto
    Running setup.py install for pycrypto: started
    Running setup.py install for pycrypto: finished with status 'error'

  ERROR: Command errored out with exit status 1:    command: 'C:\Program Files\Python38\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\evgpe\\AppData\\Local\\Temp\\pycharm-packaging\\pycrypto\\setup.py'"'"';
__file__='"'"'C:\\Users\\evgpe\\AppData\\Local\\Temp\\pycharm-packaging\\pycrypto\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d 'C:\Users\evgpe\AppData\Local\Temp\pip-wheel-uxwv31iu'
       cwd: C:\Users\evgpe\AppData\Local\Temp\pycharm-packaging\pycrypto\   Complete output (153 lines):   running bdist_wheel   running build   running build_py   creating build   creating build\lib.win-amd64-3.8   creating build\lib.win-amd64-3.8\Crypto   copying lib\Crypto\pct_warnings.py -> build\lib.win-amd64-3.8\Crypto   copying lib\Crypto\__init__.py -> build\lib.win-amd64-3.8\Crypto   creating build\lib.win-amd64-3.8\Crypto\Hash   copying lib\Crypto\Hash\hashalgo.py -> build\lib.win-amd64-3.8\Crypto\Hash   copying lib\Crypto\Hash\HMAC.py -> build\lib.win-amd64-3.8\Crypto\Hash copying lib\Crypto\Hash\MD2.py -> build\lib.win-amd64-3.8\Crypto\Hash  copying lib\Crypto\Hash\MD4.py -> build\lib.win-amd64-3.8\Crypto\Hash  copying lib\Crypto\Hash\MD5.py -> build\lib.win-amd64-3.8\Crypto\Hash  copying lib\Crypto\Hash\RIPEMD.py -> build\lib.win-amd64-3.8\Crypto\Hash   copying lib\Crypto\Hash\SHA.py
-> build\lib.win-amd64-3.8\Crypto\Hash   copying lib\Crypto\Hash\SHA224.py -> build\lib.win-amd64-3.8\Crypto\Hash   copying lib\Crypto\Hash\SHA256.py -> build\lib.win-amd64-3.8\Crypto\Hash   copying lib\Crypto\Hash\SHA384.py -> build\lib.win-amd64-3.8\Crypto\Hash   copying lib\Crypto\Hash\SHA512.py -> build\lib.win-amd64-3.8\Crypto\Hash   copying lib\Crypto\Hash\__init__.py -> build\lib.win-amd64-3.8\Crypto\Hash   creating build\lib.win-amd64-3.8\Crypto\Cipher   copying lib\Crypto\Cipher\AES.py -> build\lib.win-amd64-3.8\Crypto\Cipher   copying lib\Crypto\Cipher\ARC2.py -> build\lib.win-amd64-3.8\Crypto\Cipher   copying lib\Crypto\Cipher\ARC4.py -> build\lib.win-amd64-3.8\Crypto\Cipher   copying lib\Crypto\Cipher\blockalgo.py -> build\lib.win-amd64-3.8\Crypto\Cipher   copying lib\Crypto\Cipher\Blowfish.py -> build\lib.win-amd64-3.8\Crypto\Cipher copying lib\Crypto\Cipher\CAST.py -> build\lib.win-amd64-3.8\Crypto\Cipher   copying lib\Crypto\Cipher\DES.py -> build\lib.win-amd64-3.8\Crypto\Cipher   copying lib\Crypto\Cipher\DES3.py -> build\lib.win-amd64-3.8\Crypto\Cipher   copying lib\Crypto\Cipher\PKCS1_OAEP.py -> build\lib.win-amd64-3.8\Crypto\Cipher   copying lib\Crypto\Cipher\PKCS1_v1_5.py -> build\lib.win-amd64-3.8\Crypto\Cipher   copying lib\Crypto\Cipher\XOR.py -> build\lib.win-amd64-3.8\Crypto\Cipher   copying lib\Crypto\Cipher\__init__.py -> build\lib.win-amd64-3.8\Crypto\Cipher   creating build\lib.win-amd64-3.8\Crypto\Util   copying lib\Crypto\Util\asn1.py
-> build\lib.win-amd64-3.8\Crypto\Util   copying lib\Crypto\Util\Counter.py -> build\lib.win-amd64-3.8\Crypto\Util   copying lib\Crypto\Util\number.py -> build\lib.win-amd64-3.8\Crypto\Util   copying lib\Crypto\Util\py3compat.py -> build\lib.win-amd64-3.8\Crypto\Util   copying lib\Crypto\Util\randpool.py -> build\lib.win-amd64-3.8\Crypto\Util   copying lib\Crypto\Util\RFC1751.py -> build\lib.win-amd64-3.8\Crypto\Util   copying lib\Crypto\Util\winrandom.py -> build\lib.win-amd64-3.8\Crypto\Util   copying lib\Crypto\Util\_number_new.py -> build\lib.win-amd64-3.8\Crypto\Util  copying lib\Crypto\Util\__init__.py -> build\lib.win-amd64-3.8\Crypto\Util   creating build\lib.win-amd64-3.8\Crypto\Random   copying lib\Crypto\Random\random.py -> build\lib.win-amd64-3.8\Crypto\Random   copying lib\Crypto\Random\_UserFriendlyRNG.py -> build\lib.win-amd64-3.8\Crypto\Random   copying lib\Crypto\Random\__init__.py -> build\lib.win-amd64-3.8\Crypto\Random creating build\lib.win-amd64-3.8\Crypto\Random\Fortuna   copying lib\Crypto\Random\Fortuna\FortunaAccumulator.py -> build\lib.win-amd64-3.8\Crypto\Random\Fortuna   copying lib\Crypto\Random\Fortuna\FortunaGenerator.py -> build\lib.win-amd64-3.8\Crypto\Random\Fortuna   copying lib\Crypto\Random\Fortuna\SHAd256.py -> build\lib.win-amd64-3.8\Crypto\Random\Fortuna   copying lib\Crypto\Random\Fortuna\__init__.py -> build\lib.win-amd64-3.8\Crypto\Random\Fortuna   creating build\lib.win-amd64-3.8\Crypto\Random\OSRNG   copying lib\Crypto\Random\OSRNG\fallback.py -> build\lib.win-amd64-3.8\Crypto\Random\OSRNG   copying lib\Crypto\Random\OSRNG\nt.py -> build\lib.win-amd64-3.8\Crypto\Random\OSRNG   copying lib\Crypto\Random\OSRNG\posix.py -> build\lib.win-amd64-3.8\Crypto\Random\OSRNG   copying lib\Crypto\Random\OSRNG\rng_base.py -> build\lib.win-amd64-3.8\Crypto\Random\OSRNG   copying lib\Crypto\Random\OSRNG\__init__.py -> build\lib.win-amd64-3.8\Crypto\Random\OSRNG   creating build\lib.win-amd64-3.8\Crypto\SelfTest   copying lib\Crypto\SelfTest\st_common.py -> build\lib.win-amd64-3.8\Crypto\SelfTest   copying lib\Crypto\SelfTest\__init__.py -> build\lib.win-amd64-3.8\Crypto\SelfTest   creating build\lib.win-amd64-3.8\Crypto\SelfTest\Cipher   copying lib\Crypto\SelfTest\Cipher\common.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Cipher   copying lib\Crypto\SelfTest\Cipher\test_AES.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Cipher   copying lib\Crypto\SelfTest\Cipher\test_ARC2.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Cipher   copying lib\Crypto\SelfTest\Cipher\test_ARC4.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Cipher   copying lib\Crypto\SelfTest\Cipher\test_Blowfish.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Cipher   copying lib\Crypto\SelfTest\Cipher\test_CAST.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Cipher   copying lib\Crypto\SelfTest\Cipher\test_DES.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Cipher   copying lib\Crypto\SelfTest\Cipher\test_DES3.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Cipher   copying lib\Crypto\SelfTest\Cipher\test_pkcs1_15.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Cipher   copying lib\Crypto\SelfTest\Cipher\test_pkcs1_oaep.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Cipher   copying lib\Crypto\SelfTest\Cipher\test_XOR.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Cipher   copying lib\Crypto\SelfTest\Cipher\__init__.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Cipher   creating build\lib.win-amd64-3.8\Crypto\SelfTest\Hash   copying lib\Crypto\SelfTest\Hash\common.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Hash   copying lib\Crypto\SelfTest\Hash\test_HMAC.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Hash   copying lib\Crypto\SelfTest\Hash\test_MD2.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Hash   copying lib\Crypto\SelfTest\Hash\test_MD4.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Hash   copying lib\Crypto\SelfTest\Hash\test_MD5.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Hash   copying lib\Crypto\SelfTest\Hash\test_RIPEMD.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Hash   copying lib\Crypto\SelfTest\Hash\test_SHA.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Hash   copying lib\Crypto\SelfTest\Hash\test_SHA224.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Hash   copying lib\Crypto\SelfTest\Hash\test_SHA256.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Hash   copying lib\Crypto\SelfTest\Hash\test_SHA384.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Hash   copying lib\Crypto\SelfTest\Hash\test_SHA512.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Hash   copying lib\Crypto\SelfTest\Hash\__init__.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Hash   creating build\lib.win-amd64-3.8\Crypto\SelfTest\Protocol   copying lib\Crypto\SelfTest\Protocol\test_AllOrNothing.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Protocol   copying lib\Crypto\SelfTest\Protocol\test_chaffing.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Protocol   copying lib\Crypto\SelfTest\Protocol\test_KDF.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Protocol   copying lib\Crypto\SelfTest\Protocol\test_rfc1751.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Protocol   copying lib\Crypto\SelfTest\Protocol\__init__.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Protocol   creating build\lib.win-amd64-3.8\Crypto\SelfTest\PublicKey   copying lib\Crypto\SelfTest\PublicKey\test_DSA.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\PublicKey   copying lib\Crypto\SelfTest\PublicKey\test_ElGamal.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\PublicKey   copying lib\Crypto\SelfTest\PublicKey\test_importKey.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\PublicKey   copying lib\Crypto\SelfTest\PublicKey\test_RSA.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\PublicKey   copying lib\Crypto\SelfTest\PublicKey\__init__.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\PublicKey   creating build\lib.win-amd64-3.8\Crypto\SelfTest\Random   copying lib\Crypto\SelfTest\Random\test_random.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Random   copying lib\Crypto\SelfTest\Random\test_rpoolcompat.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Random   copying lib\Crypto\SelfTest\Random\test__UserFriendlyRNG.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Random   copying lib\Crypto\SelfTest\Random\__init__.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Random   creating build\lib.win-amd64-3.8\Crypto\SelfTest\Random\Fortuna   copying lib\Crypto\SelfTest\Random\Fortuna\test_FortunaAccumulator.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Random\Fortuna   copying lib\Crypto\SelfTest\Random\Fortuna\test_FortunaGenerator.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Random\Fortuna   copying lib\Crypto\SelfTest\Random\Fortuna\test_SHAd256.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Random\Fortuna   copying lib\Crypto\SelfTest\Random\Fortuna\__init__.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Random\Fortuna   creating build\lib.win-amd64-3.8\Crypto\SelfTest\Random\OSRNG   copying lib\Crypto\SelfTest\Random\OSRNG\test_fallback.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Random\OSRNG   copying lib\Crypto\SelfTest\Random\OSRNG\test_generic.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Random\OSRNG   copying lib\Crypto\SelfTest\Random\OSRNG\test_nt.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Random\OSRNG   copying lib\Crypto\SelfTest\Random\OSRNG\test_posix.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Random\OSRNG   copying lib\Crypto\SelfTest\Random\OSRNG\test_winrandom.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Random\OSRNG   copying lib\Crypto\SelfTest\Random\OSRNG\__init__.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Random\OSRNG   creating build\lib.win-amd64-3.8\Crypto\SelfTest\Util   copying lib\Crypto\SelfTest\Util\test_asn1.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Util   copying lib\Crypto\SelfTest\Util\test_Counter.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Util   copying lib\Crypto\SelfTest\Util\test_number.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Util   copying lib\Crypto\SelfTest\Util\test_winrandom.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Util   copying lib\Crypto\SelfTest\Util\__init__.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Util   creating build\lib.win-amd64-3.8\Crypto\SelfTest\Signature   copying lib\Crypto\SelfTest\Signature\test_pkcs1_15.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Signature   copying lib\Crypto\SelfTest\Signature\test_pkcs1_pss.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Signature   copying lib\Crypto\SelfTest\Signature\__init__.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Signature   creating build\lib.win-amd64-3.8\Crypto\Protocol   copying lib\Crypto\Protocol\AllOrNothing.py -> build\lib.win-amd64-3.8\Crypto\Protocol   copying lib\Crypto\Protocol\Chaffing.py -> build\lib.win-amd64-3.8\Crypto\Protocol   copying lib\Crypto\Protocol\KDF.py -> build\lib.win-amd64-3.8\Crypto\Protocol  copying lib\Crypto\Protocol\__init__.py -> build\lib.win-amd64-3.8\Crypto\Protocol   creating build\lib.win-amd64-3.8\Crypto\PublicKey   copying lib\Crypto\PublicKey\DSA.py -> build\lib.win-amd64-3.8\Crypto\PublicKey   copying lib\Crypto\PublicKey\ElGamal.py -> build\lib.win-amd64-3.8\Crypto\PublicKey   copying lib\Crypto\PublicKey\pubkey.py -> build\lib.win-amd64-3.8\Crypto\PublicKey   copying lib\Crypto\PublicKey\RSA.py -> build\lib.win-amd64-3.8\Crypto\PublicKey   copying lib\Crypto\PublicKey\_DSA.py -> build\lib.win-amd64-3.8\Crypto\PublicKey   copying lib\Crypto\PublicKey\_RSA.py -> build\lib.win-amd64-3.8\Crypto\PublicKey   copying lib\Crypto\PublicKey\_slowmath.py -> build\lib.win-amd64-3.8\Crypto\PublicKey   copying lib\Crypto\PublicKey\__init__.py -> build\lib.win-amd64-3.8\Crypto\PublicKey   creating build\lib.win-amd64-3.8\Crypto\Signature   copying lib\Crypto\Signature\PKCS1_PSS.py -> build\lib.win-amd64-3.8\Crypto\Signature   copying lib\Crypto\Signature\PKCS1_v1_5.py -> build\lib.win-amd64-3.8\Crypto\Signature   copying lib\Crypto\Signature\__init__.py -> build\lib.win-amd64-3.8\Crypto\Signature   Skipping optional fixer: buffer   Skipping optional fixer: idioms   Skipping optional fixer: set_literal   Skipping optional fixer: ws_comma   running build_ext   warning: GMP or MPIR library not found; Not building Crypto.PublicKey._fastmath.   building 'Crypto.Random.OSRNG.winrandom' extension   error: Microsoft Visual C++ 14.0 is required. Get it with "Build Tools for Visual Studio": https://visualstudio.microsoft.com/downloads/  
----------------------------------------   ERROR: Failed building wheel for pycrypto
    ERROR: Command errored out with exit status 1:
     command: 'C:\Program Files\Python38\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\evgpe\\AppData\\Local\\Temp\\pycharm-packaging\\pycrypto\\setup.py'"'"';
__file__='"'"'C:\\Users\\evgpe\\AppData\\Local\\Temp\\pycharm-packaging\\pycrypto\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\evgpe\AppData\Local\Temp\pip-record-3k3knkdk\install-record.txt'
--single-version-externally-managed --compile --install-headers 'C:\Program Files\Python38\Include\pycrypto'
         cwd: C:\Users\evgpe\AppData\Local\Temp\pycharm-packaging\pycrypto\
    Complete output (153 lines):
    running install
    running build
    running build_py
    creating build
    creating build\lib.win-amd64-3.8
    creating build\lib.win-amd64-3.8\Crypto
    copying lib\Crypto\pct_warnings.py -> build\lib.win-amd64-3.8\Crypto
    copying lib\Crypto\__init__.py -> build\lib.win-amd64-3.8\Crypto
    creating build\lib.win-amd64-3.8\Crypto\Hash
    copying lib\Crypto\Hash\hashalgo.py -> build\lib.win-amd64-3.8\Crypto\Hash
    copying lib\Crypto\Hash\HMAC.py -> build\lib.win-amd64-3.8\Crypto\Hash
    copying lib\Crypto\Hash\MD2.py -> build\lib.win-amd64-3.8\Crypto\Hash
    copying lib\Crypto\Hash\MD4.py -> build\lib.win-amd64-3.8\Crypto\Hash
    copying lib\Crypto\Hash\MD5.py -> build\lib.win-amd64-3.8\Crypto\Hash
    copying lib\Crypto\Hash\RIPEMD.py -> build\lib.win-amd64-3.8\Crypto\Hash
    copying lib\Crypto\Hash\SHA.py -> build\lib.win-amd64-3.8\Crypto\Hash
    copying lib\Crypto\Hash\SHA224.py -> build\lib.win-amd64-3.8\Crypto\Hash
    copying lib\Crypto\Hash\SHA256.py -> build\lib.win-amd64-3.8\Crypto\Hash
    copying lib\Crypto\Hash\SHA384.py -> build\lib.win-amd64-3.8\Crypto\Hash
    copying lib\Crypto\Hash\SHA512.py -> build\lib.win-amd64-3.8\Crypto\Hash
    copying lib\Crypto\Hash\__init__.py -> build\lib.win-amd64-3.8\Crypto\Hash
    creating build\lib.win-amd64-3.8\Crypto\Cipher
    copying lib\Crypto\Cipher\AES.py -> build\lib.win-amd64-3.8\Crypto\Cipher
    copying lib\Crypto\Cipher\ARC2.py -> build\lib.win-amd64-3.8\Crypto\Cipher
    copying lib\Crypto\Cipher\ARC4.py -> build\lib.win-amd64-3.8\Crypto\Cipher
    copying lib\Crypto\Cipher\blockalgo.py -> build\lib.win-amd64-3.8\Crypto\Cipher
    copying lib\Crypto\Cipher\Blowfish.py -> build\lib.win-amd64-3.8\Crypto\Cipher
    copying lib\Crypto\Cipher\CAST.py -> build\lib.win-amd64-3.8\Crypto\Cipher
    copying lib\Crypto\Cipher\DES.py -> build\lib.win-amd64-3.8\Crypto\Cipher
    copying lib\Crypto\Cipher\DES3.py -> build\lib.win-amd64-3.8\Crypto\Cipher
    copying lib\Crypto\Cipher\PKCS1_OAEP.py -> build\lib.win-amd64-3.8\Crypto\Cipher
    copying lib\Crypto\Cipher\PKCS1_v1_5.py -> build\lib.win-amd64-3.8\Crypto\Cipher
    copying lib\Crypto\Cipher\XOR.py -> build\lib.win-amd64-3.8\Crypto\Cipher
    copying lib\Crypto\Cipher\__init__.py -> build\lib.win-amd64-3.8\Crypto\Cipher
    creating build\lib.win-amd64-3.8\Crypto\Util
    copying lib\Crypto\Util\asn1.py -> build\lib.win-amd64-3.8\Crypto\Util
    copying lib\Crypto\Util\Counter.py -> build\lib.win-amd64-3.8\Crypto\Util
    copying lib\Crypto\Util\number.py -> build\lib.win-amd64-3.8\Crypto\Util
    copying lib\Crypto\Util\py3compat.py -> build\lib.win-amd64-3.8\Crypto\Util
    copying lib\Crypto\Util\randpool.py -> build\lib.win-amd64-3.8\Crypto\Util
    copying lib\Crypto\Util\RFC1751.py -> build\lib.win-amd64-3.8\Crypto\Util
    copying lib\Crypto\Util\winrandom.py -> build\lib.win-amd64-3.8\Crypto\Util
    copying lib\Crypto\Util\_number_new.py -> build\lib.win-amd64-3.8\Crypto\Util
    copying lib\Crypto\Util\__init__.py -> build\lib.win-amd64-3.8\Crypto\Util
    creating build\lib.win-amd64-3.8\Crypto\Random
    copying lib\Crypto\Random\random.py -> build\lib.win-amd64-3.8\Crypto\Random
    copying lib\Crypto\Random\_UserFriendlyRNG.py -> build\lib.win-amd64-3.8\Crypto\Random
    copying lib\Crypto\Random\__init__.py -> build\lib.win-amd64-3.8\Crypto\Random
    creating build\lib.win-amd64-3.8\Crypto\Random\Fortuna
    copying lib\Crypto\Random\Fortuna\FortunaAccumulator.py -> build\lib.win-amd64-3.8\Crypto\Random\Fortuna
    copying lib\Crypto\Random\Fortuna\FortunaGenerator.py -> build\lib.win-amd64-3.8\Crypto\Random\Fortuna
    copying lib\Crypto\Random\Fortuna\SHAd256.py -> build\lib.win-amd64-3.8\Crypto\Random\Fortuna
    copying lib\Crypto\Random\Fortuna\__init__.py -> build\lib.win-amd64-3.8\Crypto\Random\Fortuna
    creating build\lib.win-amd64-3.8\Crypto\Random\OSRNG
    copying lib\Crypto\Random\OSRNG\fallback.py -> build\lib.win-amd64-3.8\Crypto\Random\OSRNG
    copying lib\Crypto\Random\OSRNG\nt.py -> build\lib.win-amd64-3.8\Crypto\Random\OSRNG
    copying lib\Crypto\Random\OSRNG\posix.py -> build\lib.win-amd64-3.8\Crypto\Random\OSRNG
    copying lib\Crypto\Random\OSRNG\rng_base.py -> build\lib.win-amd64-3.8\Crypto\Random\OSRNG
    copying lib\Crypto\Random\OSRNG\__init__.py -> build\lib.win-amd64-3.8\Crypto\Random\OSRNG
    creating build\lib.win-amd64-3.8\Crypto\SelfTest
    copying lib\Crypto\SelfTest\st_common.py -> build\lib.win-amd64-3.8\Crypto\SelfTest
    copying lib\Crypto\SelfTest\__init__.py -> build\lib.win-amd64-3.8\Crypto\SelfTest
    creating build\lib.win-amd64-3.8\Crypto\SelfTest\Cipher
    copying lib\Crypto\SelfTest\Cipher\common.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Cipher
    copying lib\Crypto\SelfTest\Cipher\test_AES.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Cipher
    copying lib\Crypto\SelfTest\Cipher\test_ARC2.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Cipher
    copying lib\Crypto\SelfTest\Cipher\test_ARC4.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Cipher
    copying lib\Crypto\SelfTest\Cipher\test_Blowfish.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Cipher
    copying lib\Crypto\SelfTest\Cipher\test_CAST.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Cipher
    copying lib\Crypto\SelfTest\Cipher\test_DES.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Cipher
    copying lib\Crypto\SelfTest\Cipher\test_DES3.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Cipher
    copying lib\Crypto\SelfTest\Cipher\test_pkcs1_15.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Cipher
    copying lib\Crypto\SelfTest\Cipher\test_pkcs1_oaep.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Cipher
    copying lib\Crypto\SelfTest\Cipher\test_XOR.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Cipher
    copying lib\Crypto\SelfTest\Cipher\__init__.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Cipher
    creating build\lib.win-amd64-3.8\Crypto\SelfTest\Hash
    copying lib\Crypto\SelfTest\Hash\common.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Hash
    copying lib\Crypto\SelfTest\Hash\test_HMAC.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Hash
    copying lib\Crypto\SelfTest\Hash\test_MD2.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Hash
    copying lib\Crypto\SelfTest\Hash\test_MD4.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Hash
    copying lib\Crypto\SelfTest\Hash\test_MD5.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Hash
    copying lib\Crypto\SelfTest\Hash\test_RIPEMD.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Hash
    copying lib\Crypto\SelfTest\Hash\test_SHA.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Hash
    copying lib\Crypto\SelfTest\Hash\test_SHA224.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Hash
    copying lib\Crypto\SelfTest\Hash\test_SHA256.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Hash
    copying lib\Crypto\SelfTest\Hash\test_SHA384.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Hash
    copying lib\Crypto\SelfTest\Hash\test_SHA512.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Hash
    copying lib\Crypto\SelfTest\Hash\__init__.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Hash
    creating build\lib.win-amd64-3.8\Crypto\SelfTest\Protocol
    copying lib\Crypto\SelfTest\Protocol\test_AllOrNothing.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Protocol
    copying lib\Crypto\SelfTest\Protocol\test_chaffing.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Protocol
    copying lib\Crypto\SelfTest\Protocol\test_KDF.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Protocol
    copying lib\Crypto\SelfTest\Protocol\test_rfc1751.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Protocol
    copying lib\Crypto\SelfTest\Protocol\__init__.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Protocol
    creating build\lib.win-amd64-3.8\Crypto\SelfTest\PublicKey
    copying lib\Crypto\SelfTest\PublicKey\test_DSA.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\PublicKey
    copying lib\Crypto\SelfTest\PublicKey\test_ElGamal.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\PublicKey
    copying lib\Crypto\SelfTest\PublicKey\test_importKey.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\PublicKey
    copying lib\Crypto\SelfTest\PublicKey\test_RSA.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\PublicKey
    copying lib\Crypto\SelfTest\PublicKey\__init__.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\PublicKey
    creating build\lib.win-amd64-3.8\Crypto\SelfTest\Random
    copying lib\Crypto\SelfTest\Random\test_random.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Random
    copying lib\Crypto\SelfTest\Random\test_rpoolcompat.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Random
    copying lib\Crypto\SelfTest\Random\test__UserFriendlyRNG.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Random
    copying lib\Crypto\SelfTest\Random\__init__.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Random
    creating build\lib.win-amd64-3.8\Crypto\SelfTest\Random\Fortuna
    copying lib\Crypto\SelfTest\Random\Fortuna\test_FortunaAccumulator.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Random\Fortuna
    copying lib\Crypto\SelfTest\Random\Fortuna\test_FortunaGenerator.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Random\Fortuna
    copying lib\Crypto\SelfTest\Random\Fortuna\test_SHAd256.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Random\Fortuna
    copying lib\Crypto\SelfTest\Random\Fortuna\__init__.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Random\Fortuna
    creating build\lib.win-amd64-3.8\Crypto\SelfTest\Random\OSRNG
    copying lib\Crypto\SelfTest\Random\OSRNG\test_fallback.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Random\OSRNG
    copying lib\Crypto\SelfTest\Random\OSRNG\test_generic.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Random\OSRNG
    copying lib\Crypto\SelfTest\Random\OSRNG\test_nt.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Random\OSRNG
    copying lib\Crypto\SelfTest\Random\OSRNG\test_posix.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Random\OSRNG
    copying lib\Crypto\SelfTest\Random\OSRNG\test_winrandom.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Random\OSRNG
    copying lib\Crypto\SelfTest\Random\OSRNG\__init__.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Random\OSRNG
    creating build\lib.win-amd64-3.8\Crypto\SelfTest\Util
    copying lib\Crypto\SelfTest\Util\test_asn1.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Util
    copying lib\Crypto\SelfTest\Util\test_Counter.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Util
    copying lib\Crypto\SelfTest\Util\test_number.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Util
    copying lib\Crypto\SelfTest\Util\test_winrandom.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Util
    copying lib\Crypto\SelfTest\Util\__init__.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Util
    creating build\lib.win-amd64-3.8\Crypto\SelfTest\Signature
    copying lib\Crypto\SelfTest\Signature\test_pkcs1_15.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Signature
    copying lib\Crypto\SelfTest\Signature\test_pkcs1_pss.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Signature
    copying lib\Crypto\SelfTest\Signature\__init__.py -> build\lib.win-amd64-3.8\Crypto\SelfTest\Signature
    creating build\lib.win-amd64-3.8\Crypto\Protocol
    copying lib\Crypto\Protocol\AllOrNothing.py -> build\lib.win-amd64-3.8\Crypto\Protocol
    copying lib\Crypto\Protocol\Chaffing.py -> build\lib.win-amd64-3.8\Crypto\Protocol
    copying lib\Crypto\Protocol\KDF.py -> build\lib.win-amd64-3.8\Crypto\Protocol
    copying lib\Crypto\Protocol\__init__.py -> build\lib.win-amd64-3.8\Crypto\Protocol
    creating build\lib.win-amd64-3.8\Crypto\PublicKey
    copying lib\Crypto\PublicKey\DSA.py -> build\lib.win-amd64-3.8\Crypto\PublicKey
    copying lib\Crypto\PublicKey\ElGamal.py -> build\lib.win-amd64-3.8\Crypto\PublicKey
    copying lib\Crypto\PublicKey\pubkey.py -> build\lib.win-amd64-3.8\Crypto\PublicKey
    copying lib\Crypto\PublicKey\RSA.py -> build\lib.win-amd64-3.8\Crypto\PublicKey
    copying lib\Crypto\PublicKey\_DSA.py -> build\lib.win-amd64-3.8\Crypto\PublicKey
    copying lib\Crypto\PublicKey\_RSA.py -> build\lib.win-amd64-3.8\Crypto\PublicKey
    copying lib\Crypto\PublicKey\_slowmath.py -> build\lib.win-amd64-3.8\Crypto\PublicKey
    copying lib\Crypto\PublicKey\__init__.py -> build\lib.win-amd64-3.8\Crypto\PublicKey
    creating build\lib.win-amd64-3.8\Crypto\Signature
    copying lib\Crypto\Signature\PKCS1_PSS.py -> build\lib.win-amd64-3.8\Crypto\Signature
    copying lib\Crypto\Signature\PKCS1_v1_5.py -> build\lib.win-amd64-3.8\Crypto\Signature
    copying lib\Crypto\Signature\__init__.py -> build\lib.win-amd64-3.8\Crypto\Signature
    Skipping optional fixer: buffer
    Skipping optional fixer: idioms
    Skipping optional fixer: set_literal
    Skipping optional fixer: ws_comma
    running build_ext
    warning: GMP or MPIR library not found; Not building Crypto.PublicKey._fastmath.
    building 'Crypto.Random.OSRNG.winrandom' extension
    error: Microsoft Visual C++ 14.0 is required. Get it with "Build Tools for Visual Studio": https://visualstudio.microsoft.com/downloads/
    ---------------------------------------- ERROR: Command errored out with exit status 1: 'C:\Program Files\Python38\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\evgpe\\AppData\\Local\\Temp\\pycharm-packaging\\pycrypto\\setup.py'"'"';
__file__='"'"'C:\\Users\\evgpe\\AppData\\Local\\Temp\\pycharm-packaging\\pycrypto\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\evgpe\AppData\Local\Temp\pip-record-3k3knkdk\install-record.txt'
--single-version-externally-managed --compile --install-headers 'C:\Program Files\Python38\Include\pycrypto' Check the logs for full command output.

我用我已经做过的手鼓来描述舞蹈。1.重新安装Python。通过命令行检查。一切都恢复正常。2. 重新安装 PyCharm。3. 更新了 Microsoft Visual C++。

嘿,怎么了....

python
  • 1 个回答
  • 10 Views
Martin Hope
evYpe
Asked: 2020-02-20 13:08:14 +0000 UTC

Python中解决问题的代码优化

  • 0

我是初学者程序员。我正在上课。我在课程的框架内解决了这个问题,但我想让我的解决方案更加美观和优化。如何改进和简化我的代码?

一个任务:

输入是数字 n 然后 n 行,格式如下: 'Zenith;3;Spartak;1' 你需要编写一个程序来计算所有匹配的结果,并以下列格式显示结果:

球队:Total_games 胜 平 负 Total_points

我的决定:

n = int(input())
x = [input().split(';') for i in range(n)]
res = {}
g = 1
wp = 3
for i in x:
    if int(i[1]) > int(i[3]):
        if i[0] in res:
            z = res.get(i[0])
            z[0] += g
            z[1] += g
            z[4] += wp
        else:
            res[i[0]] = [1, 1, 0, 0, 3]
        if i[2] in res:
            z = res.get(i[2])
            z[0] += g
            z[3] += g
        else:
            res[i[2]] = [1, 0, 0, 1, 0]
    if int(i[1]) < int(i[3]):
        if i[2] in res:
            z = res.get(i[2])
            z[0] += g
            z[1] += g
            z[4] += wp
        else:
            res[i[2]] = [1, 1, 0, 0, 3]
        if i[0] in res:
            z = res.get(i[0])
            z[0] += g
            z[3] += g
        else:
            res[i[0]] = [1, 0, 0, 1, 0]
    if int(i[1]) == int(i[3]):
        if i[0] in res:
            z = res.get(i[0])
            z[0] += g
            z[2] += g
            z[4] += g
        else:
            res[i[0]] = [1, 0, 1, 0, 1]
        if i[2] in res:
            z = res.get(i[2])
            z[0] += g
            z[2] += g
            z[4] += g
        else:
            res[i[2]] = [1, 0, 1, 0, 1]
for i in res:
    print(i, ' '.join(map(str, res.get(i))), sep=':')

感谢您的关注!

python
  • 3 个回答
  • 10 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5