
如果我使用以下腳本按建置:
if __name__ == "__main__":
class Strom(object):
def __init__(self):
self.preis_kilowattstunde = 0.21
def stromkosten_pro_jahr(watt):
'''
(integer) -> float
leitet aus einer Zahl in Watt eines Objektes die Stromkosten pro Jahr ab
'''
print(watt * brennstunden_im_tag * 365 * self.preis_kilowattstunde / 1000)
def stromkosten_differenz(watt_objekt1, watt_objekt2):
'''
(integer, integer) -> float
Nimmt die Stromkosten in Watt zweier Objekte und gibt die Stromkostendifferenz in CHF aus.
'''
if watt_objekt2 > watt_objekt1:
print(stromkosten_pro_jahr(watt_objekt2) - stromkosten_pro_jahr(watt_objekt1))
else:
print(stromkosten_pro_jahr(watt_objekt1) - stromkosten_pro_jahr(watt_objekt2)
我收到以下錯誤:
File "/home/empedokles/Dropbox/Yannick/Python/stromkosten.py", line 31
^
SyntaxError: invalid syntax
[Finished in 0.2s with exit code 1]
[shell_cmd: python -u "/home/empedokles/Dropbox/Yannick/Python/stromkosten.py"]
[dir: /home/empedokles/Dropbox/Yannick/Python]
[path: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games]
答案1
您的程式碼缺少)
最後一行的結束語,因此如果您嘗試按原樣運行程式碼,您會收到錯誤訊息。
但是,假設您解決了這個問題,使用 Python 3 運行此程式碼將成功完成,但不會給出任何輸出。您正在定義一個類別和幾個方法,但您從未實例化該類別或呼叫任何方法。即使你這樣做了,你也會得到一個錯誤,因為brennstunden_im_tag
在任何地方都沒有定義,所以你在嘗試運行時會得到一個錯誤stromkosten_pro_jahr()
。您還需要將其self
作為任何類別方法的第一個參數。最後stromkosten_pro_jahr()
是應該return
值,而不是print()
它。以下是您的程式碼應如下所示的範例:
class Strom(object):
def __init__(self, brennstunden_im_tag):
self.preis_kilowattstunde = 0.21
self.brennstunden_im_tag = brennstunden_im_tag
def stromkosten_pro_jahr(self, watt):
'''
(integer) -> float
leitet aus einer Zahl in Watt eines Objektes die Stromkosten pro Jahr ab
'''
return watt * self.brennstunden_im_tag * 365 * self.preis_kilowattstunde / 1000
def stromkosten_differenz(self, watt_objekt1, watt_objekt2):
'''
(integer, integer) -> float
Nimmt die Stromkosten in Watt zweier Objekte und gibt die Stromkostendifferenz in CHF aus.
'''
if watt_objekt2 > watt_objekt1:
print(self.stromkosten_pro_jahr(watt_objekt2) - self.stromkosten_pro_jahr(watt_objekt1))
else:
print(self.stromkosten_pro_jahr(watt_objekt1) - self.stromkosten_pro_jahr(watt_objekt2))
if __name__ == "__main__":
my_strom = Strom(10)
my_strom.stromkosten_differenz(100, 50)
返回38.325
- 希望這就是您正在尋找的結果。
答案2
你可能應該安裝一個棉絨包包看看你的程式碼有什麼問題,顯然問題出在你的程式碼。