Seite 1 von 1

Temperatur umrechnen mit python

Verfasst: Donnerstag 27. August 2020, 13:12
von Patryk Buczak
Hallo zusammen,

Habe ein kleines Problem mit dem folgenden Programm:

# von celsius in fahrenheit °F = °C * 1,8 + 32
# von fahrenheit in celsius °C = (°F - 32) * 5/9

input("Welche Temperatur möchtest du umrechnen?")

Fahrenheit = input( "Gib die Temperatur in Grad Celsius ein: ")
Fahrenheit = float(Fahrenheit)
Celsius = (Fahrenheit - 32) * (5/9)
print(Celsius)

Celsius = input( "Gib die Temperatur in Grad Fahrenheit ein: ")
Celsius = float(Celsius)
Fahrenheit = Celsius * 1,8 + 32
print(Fahrenheit)

print ('Bitte Eingabetaste drücken um das Programm zu beenden')
end = input()

und zwar er berechnet ja das was ich will. Aber ich möchte auch dass er am Anfang den Benutzer fragt, was er umrechnen will und dass man das gewünschte dann entsprechend eingibt. Man soll nur entweder Celsius oder Fahrenheit eingeben wenn man weiterrechnen will. Kann mir jemand hierbei helfen?

Re: Temperatur umrechnen mit python

Verfasst: Donnerstag 27. August 2020, 13:15
von Jankie
Du brauchst eine Eingabe (input), anhand dieser machst du dann eine Fallunterscheidung (if/else).

Code: Alles auswählen

auswahl = eingabe ob Celsius oder Fahrenheit
wenn auswahl gleich Celsius:
    berechne Celsius
    zeige Ergebnis
wenn auswahl gleich Fahrenheit:
    berechne Fahrenheit
    zeige Ergebnis

Re: Temperatur umrechnen mit python

Verfasst: Donnerstag 27. August 2020, 13:31
von __blackjack__
@Patryk Buczak: Die Texte bei den `input()`\s sind falsch. Du fragst den Benutzer nach Celsius wenn er Fahrenheit eingeben muss und umgekehrt.

Dann ist diese Zeile falsch: ``Fahrenheit = Celsius * 1,8 + 32``. Da wird ein Tupel an den Namen Fahrenheit gebunden das als erstes Element den Wert von `Celsius` hat (``Celsius * 1``) und als zweites Element den Wert 40 (``8 + 32``). Das Komma hat in Python eine andere Bedeutung als in dem ”deutschen” Dezimalbruch 1,8.

Die letzten beiden Zeilen sind falsch und nervig. Konsolenprogramme werden in einer Konsole gestartet und wenn sie am Ende sind, ist es unsinnig den Benutzer noch mal etwas eingeben zu lassen nur um das Programm zu beenden.