我已經將下面的代碼作爲賦值的一部分。super()在Sublime Text中拋出一個錯誤,在PyCharm/Terminal中工作
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
因爲你的'Sublime'可能指向一個Python3版本,而終端和PyCharm正在調用Python2。 – Abdou
@Abdou我的意思是使用Python 3. –
好像Sublime已經指向Python3,如果代碼片段在那裏運行沒有任何問題。也許PyCharm和你的終端可能需要這裏的設置。 – Abdou