Seite 1 von 1

raw_input mit Zeitspanne als Bedingung

Verfasst: Dienstag 16. Januar 2018, 16:36
von GunnarB
Hallo allesamt.

Ich habe eine Frage, wie ich neben der Bedingung "Eingabe als Zahl" weiter fordern kann, dass die eingegebene Zahl zwischen 1960 und 1990 liegt.

Hat da jemand eine Idee?

Vielen Dank!

Code: Alles auswählen

raw = None
while raw is None:
    print "Bitte geben sie das zu berechnende Jahr zwischen 1960 und 1990 an: "
    the_string = raw_input()
    try:
        raw = int(the_string) #or int(raw) < 1959 or int(raw) > 1991
    except ValueError:
       print 'Fehlerhafter Wert. Bitte geben Sie das Jahr korrekt an.'
year = int(raw)

Re: raw_input mit Zeitspanne als Bedingung

Verfasst: Dienstag 16. Januar 2018, 16:44
von kbr
Du könntest in der Schleife noch die Anweisung einfügen

Code: Alles auswählen

raw = raw if 1960 <= raw <= 1990 else None

Re: raw_input mit Zeitspanne als Bedingung

Verfasst: Dienstag 16. Januar 2018, 17:46
von __deets__
Da du schon einen ValueError abfaengst, kannst du einfach einen schmeissen, wenn die Zahl nicht dem gewuenschten Zeitraum entspricht.

Re: raw_input mit Zeitspanne als Bedingung

Verfasst: Dienstag 16. Januar 2018, 18:56
von Sirius3
@GunnarB: statt `raw` einen künstlichen Wert (None) zu geben, solltest Du eine Endlosschleife benutzen und die nur dann verlassen, wenn raw einen von Dir gewünschten Wert hat.