gpt4 book ai didi

python - super() 在 Sublime Text 中抛出错误,在 PyCharm/Terminal 中有效

转载 作者:行者123 更新时间:2023-11-28 21:06:27 26 4
gpt4 key购买 nike

作为作业的一部分,我生成了以下代码。

class Question:
"""Base class for all questions"""

question_count = 0

def __init__(self, desc):
self.desc = desc

Question.question_count += 1


class MarkovMM(Question):
def __init__(self, desc, arrival, service):
super().__init__(desc)
if self.desc == "Question 2":
self.answer = round(1 - (1 - (arrival / service)) - ((1 - (arrival / service)) * (arrival / service)), 3)
elif self.desc == "Question 3":
self.answer = round(1 / ((service / 60) - (arrival / 60)), 4)

qu2 = MarkovMM("Question 2", 5, 23)
print(qu2.answer)
qu3 = MarkovMM("Question 3", 6, 22)
print(qu3.answer)

当我通过 PyCharm 和 Ubuntu 终端运行它时,它工作得很好。但是,在 Sublime Text 中运行它会产生以下错误。

Traceback (most recent call last):
File "/home/estilen/Dropbox/College/Year_3/CSA2/Python/hello.py", line 20, in <module>
qu2 = MarkovMM("Question 2", 5, 23)
File "/home/estilen/Dropbox/College/Year_3/CSA2/Python/hello.py", line 14, in __init__
super().__init__(desc)
TypeError: super() takes at least 1 argument (0 given)

为什么在 Sublime 中出现错误,而在 PyCharm 或 Terminal 中却没有?

期望的输出:

0.047
3.75

最佳答案

您的 sublimetext 使用默认构建系统,即 Python 2。将其配置为在 Python 3 中运行。

工具 -> 构建系统 -> 新建构建系统 ...

添加此内容:

{
"cmd": ["python3", "-u", "$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python"
}

使用合理的文件名保存配置,比如 python3.sublime-build,然后在 Tools -> Build With ... 中选择这个新创建的构建。

关于python - super() 在 Sublime Text 中抛出错误,在 PyCharm/Terminal 中有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42819134/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com