Sunday, May 5, 2024
 Popular · Latest · Hot · Upcoming
1
rated 0 times [  1] [ 0]  / answers: 1 / hits: 490  / 3 Years ago, sun, may 23, 2021, 1:31:36

If I press build with following script:



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)


I get following error:



  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]

More From » python

 Answers
0

Your code is missing a closing ) on the last line, so if you try to run your code as-is you'll get an error from that.



However, assuming you fix that, running this code with Python 3 will complete successfully, but will not give any output. You are defining a class and a couple of methods, but you never instantiate the class or call any of the methods. Even if you did, though, you'd get an error as brennstunden_im_tag is not defined anywhere, so you'll get an error trying to run stromkosten_pro_jahr(). You also need to have self as the first parameter for any class method. Finally, stromkosten_pro_jahr() should return the value, not print() it. Here is an example of what your code should look like:



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)


This returns 38.325 - hopefully that's the result you're looking for.


[#25358] Sunday, May 23, 2021, 3 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
afyess

Total Points: 437
Total Questions: 120
Total Answers: 107

Location: San Marino
Member since Fri, Jul 3, 2020
4 Years ago
;