Python if-Abfrage wiederholen?

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


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.