Python if-Abfrage wiederholen?

...komplette Frage anzeigen

2 Antworten

Hey, 

PEP8 lässt grüßen ;)

Also bei genau deinem aufbau lässt sich gut eine Funktion benutzen in der die Abfrage stattfindent,

also so in etwa:

def get_number(id):
try:
output = input("Zahl %s:" % id)
int(output)
except (ValueError, NameError):
print "Invalid input"
return None
if output in xrange(1, 7):
return output
elif (int (output) >6):
print ("Die Zahl ist zu hoch! Sie muss zwischen 1 und 6 liegen!")
return None
elif (int (output) <1):
print ("Die Zahl ist zu niedrig! Sie muss zwischen 1 und 6 liegen!")
return None

print ("Tippe drei Zahlen zwischen 1 und 6")
results = {}
own_id = 1
while True:
number = get_number(id=own_id)
if number is None:
continue
results["zahl%s" % own_id] = number
if own_id == 3:
own_id = 1
else:
own_id += 1
print results

Den Teil denn ich Hinzugefügt habe ist Syntaktisch auf 2.7.11, sollte aber nicht schwer zu übertragen sein :)

Da ich nicht weiß was du genau vor hast, weiß ich nicht ob dir das so was bringt, funktionieren tut es ;) Ach und ich habe noch eingebaut das man nur Integer eintragen kann.

Bei Fragen Einfach melden :D
Hoffe das hilft.


EDIT: Und ich sehe gerade die einrückungen buggen rum :D

MfG
Freddy


Antwort bewerten Vielen Dank für Deine Bewertung

Einfach in eine while schleife packen:

z.B

output3 = input()
while True:
    #abfrage1
    break;
    #abfrage2
    break;
    #abfrage3
    output3 = input()


Wobei du das break in deine Abfragen hinein schreiben musst. Außer eben in die, wenn die Zahl zu groß ist. Denn das break veranlasst, dass aus der Schleife rausgegangen wird.

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?