Seu código está faltando um )
de fechamento na última linha, então se você tentar executar seu código como está, você receberá um erro disso.
No entanto, supondo que você conserte isso, a execução deste código com o Python 3 será concluída com êxito, mas não fornecerá nenhuma saída. Você está definindo uma classe e alguns métodos, mas nunca instancie a classe ou chame qualquer um dos métodos. Mesmo se você tivesse, no entanto, você receberia um erro, pois brennstunden_im_tag
não está definido em lugar algum, portanto, você receberá um erro ao tentar executar stromkosten_pro_jahr()
. Você também precisa ter self
como o primeiro parâmetro para qualquer método de classe. Finalmente, stromkosten_pro_jahr()
deve return
do valor, não print()
it. Aqui está um exemplo de como seu código deve ficar:
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)
Isso retorna 38.325
- esperamos que seja o resultado que você está procurando.