Temperatur umrechnen mit python

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Patryk Buczak
User
Beiträge: 9
Registriert: Mittwoch 26. August 2020, 13:16

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?
Jankie
User
Beiträge: 592
Registriert: Mittwoch 26. September 2018, 14:06

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
Benutzeravatar
__blackjack__
User
Beiträge: 14052
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@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.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Antworten