Seite 1 von 1
Fehler: Variable nicht definiert - meiner Meinung nach aber ja
Verfasst: Donnerstag 1. März 2018, 18:07
von michi-monster
Halli,
ich habe gerade eine Übung gemacht. Es kommt der Fehler:
Code: Alles auswählen
Traceback (most recent call last):
File "umrechnung-temperatur.py", line 11, in <module>
celsius = Kelvin - 273.15
NameError: name 'Kelvin' is not defined
Der Code lautet:
Code: Alles auswählen
#/usr/bin/python
print ("Bitte wählen sie die gewünschte Umrechnung\
(1) Umrechnung von Celsius nach Kelvin\
(2) Umrechnung von Celsius nach Fahrenheit\
(3) Umrechnung von Kelvin nach Celsius\
(4) Umrechnung von Kelvin nach Fahrenheit\
(5) Umrechnung von Fahrenheit nach Celsius\
(6) Umrechnung von Fahrenheit nach Kelvin ")
auswahl=input ()
auswahl = int(auswahl)
celsius = Kelvin - 273.15
celsius = int(celsius)
if auswahl==1:
print ("ok - von Kelvin nach Celsius")
print ("Bitte Grad kelvin eingeben")
kelvin=input()
kelvin=int(celsius)
print (celsius)
Ich verstehe nicht, warum er ne Definitation von kelvin will. - ich hab das input doch festgelegt... Bitte helft mir mal.
Re: Fehler: Variable nicht definiert - meiner Meinung nach aber ja
Verfasst: Donnerstag 1. März 2018, 18:51
von snafu
Python unterscheidet zwischen Groß- und Kleinschreibung: Du hast kelvin definiert, aber nicht Kelvin.
Re: Fehler: Variable nicht definiert - meiner Meinung nach aber ja
Verfasst: Freitag 2. März 2018, 08:11
von Sirius3
@snafu: an der Stelle, wo der Fehler auftritt, ist egal in welcher Schreibweise "Kelvin" nicht definiert.
@michi-monster: ein Programm läuft von oben nach unten ab, und es nimmt genau die Werte und Variablen, die davor definiert wurden. Du benutzt Kelvin um celsius auszurechnen, und celsius um kelvin auszurechnen, da beißt sich die Katze in den Schwanz.
Re: Fehler: Variable nicht definiert - meiner Meinung nach aber ja
Verfasst: Freitag 2. März 2018, 15:16
von ruedi_br
Hallo Michi-Monster,
wie wäre eine Variante, alles Umrechnen in einer if-elif-Mimik zu erledigen und einmal die umzurechnende Temperatur einzugeben:
und dann
macht das m.E. etwas übersichtlicher
Re: Fehler: Variable nicht definiert - meiner Meinung nach aber ja
Verfasst: Montag 5. März 2018, 22:57
von WernerSch
versuch das mal
Code: Alles auswählen
#/usr/bin/python
print ("Bitte wählen sie die gewünschte Umrechnung\
(1) Umrechnung von Celsius nach Kelvin\
(2) Umrechnung von Celsius nach Fahrenheit\
(3) Umrechnung von Kelvin nach Celsius\
(4) Umrechnung von Kelvin nach Fahrenheit\
(5) Umrechnung von Fahrenheit nach Celsius\
(6) Umrechnung von Fahrenheit nach Kelvin ")
auswahl=input ()
auswahl = int(auswahl)
kelvin=input()
#celsius = Kelvin - 273.15
celsius = kelvin - 273.15
celsius = int(celsius)
if auswahl==1:
print ("ok - von Kelvin nach Celsius")
print ("Bitte Grad kelvin eingeben")
kelvin=int(celsius)
print (celsius)
Re: Fehler: Variable nicht definiert - meiner Meinung nach aber ja
Verfasst: Montag 5. März 2018, 23:10
von WernerSch
war nicht ganz richtig , meine vorherige Lösung
Versuch das mal
Code: Alles auswählen
#/usr/bin/python
print ("Bitte wählen sie die gewünschte Umrechnung\
(1) Umrechnung von Celsius nach Kelvin\
(2) Umrechnung von Celsius nach Fahrenheit\
(3) Umrechnung von Kelvin nach Celsius\
(4) Umrechnung von Kelvin nach Fahrenheit\
(5) Umrechnung von Fahrenheit nach Celsius\
(6) Umrechnung von Fahrenheit nach Kelvin ")
auswahl=input ()
auswahl = int(auswahl)
kelvin=input()
kelvin=float(kelvin)
#celsius = Kelvin - 273.15
celsius = (kelvin-273.15)
celsius = int(celsius)
if auswahl==1:
print ("ok - von Kelvin nach Celsius")
print ("Bitte Grad kelvin eingeben")
kelvin=int(celsius)
print (celsius)
Re: Fehler: Variable nicht definiert - meiner Meinung nach aber ja
Verfasst: Montag 5. März 2018, 23:29
von kbr
Also wenn, dann so:
Code: Alles auswählen
choice = int(input('Umrechnung wählen: '))
if choice == 1:
celsius = float(input('Grad Celsius eingeben: '))
kelvin = celsius + 273.16
print('Kelvin: ', kelvin)
...
Und im übrigen: es heißt zwar Grad Celsius, nicht aber Grad Kelvin, sondern nur Kelvin.
Re: Fehler: Variable nicht definiert - meiner Meinung nach aber ja
Verfasst: Dienstag 6. März 2018, 22:43
von WernerSch
Guten Abend
Vielen Herzlichen Dank an @kbr . Dein Beispiel hilft mir bei meinem aktuellen Projekt sehr viel weiter
Re: Fehler: Variable nicht definiert - meiner Meinung nach aber ja
Verfasst: Mittwoch 7. März 2018, 10:58
von DeaD_EyE
Für Abfragen kann man generische Funktionen konstruieren.
Code: Alles auswählen
def abfrage(frage, datentyp, fehler):
while True:
antwort = input(frage)
try:
return datentyp(antwort)
except ValueError:
print(fehler)
abfrage('Wie viele Kuchen hast du gebacken? ', int, 'Bitte eine ganzzahl eingeben.')
Keine Ahnung wieso ich jetzt auf Kuchen gekommen bin. War gerade in meinem Kopf.