Seite 1 von 1

Python

Verfasst: Dienstag 12. Juni 2018, 19:52
von FabiPlayz
Hallo,

ich programmiere gerade ein Quiz in Python. Ich möchte jetzt abfragen ob der input in einem bestimmten Wertebereich liegt.
ich habe:
f4 = input("Frage 4 (4 Punkte): Wie groß ist Deutschland? (Die Angabe ist automatisch in km2): ") #f4 ist die Variable für Frage 4
jetzt möchte ich abfragen:
if (Oder das entsprechende Wort) f4 im Wertebereich von 345.000 bis 365.00
print("Das ist richtig, du hast 4 Punkte bekommen")
punkte = punkte + 4 #punkte: Variable für Punkte :)

Danke schonmal im Vorraus

Re: Python

Verfasst: Dienstag 12. Juni 2018, 21:08
von pixewakb
ui :D Du musst den String in eine Gleitkommazahl umwandeln (float()) und wahrscheinlich zuvor Tausenderpunkte rausnehmen und etwaige Kommas im String (!) in einen Punkt ändern. Danach prüfst du, ob die Eingabe > 345000 und (!) < 365000 ist. Kommst du damit weiter?

Re: Python

Verfasst: Dienstag 12. Juni 2018, 21:39
von __blackjack__
Das `f4` für Frage 4 steht ist in zweierlei Hinsicht schlecht. 1. Musst Du erklären das `f` für Frage steht, was Du nicht müsstest wenn da `frage4` stehen würde. 2. Macht man in aller Regel etwas falsch wenn man anfängt Namen zu nummerieren. Dann will man normalerweise einen besseren Namen finden oder gar keine einzelnen Namen sondern eine Datenstruktur. Oft ist das eine Liste. Hier kann man sich die Nummerierung wahrscheinlich aber auch ganz sparen. Wobei `frage` dann aber immer noch nicht richtig ist, denn an diesen Namen wird ja gar keine Frage gebunden, sondern eine Antwort!

Die Datenstruktur ist bei dem Quiz dann wahrscheinlich für die Fragen interessant. Zum Beispiel eine Liste mit Objekten die jeweils eine Frage beinhalten, mit dem Text, der Punkte, dem Antworttyp, und den Daten für eine richtige Antwort.