Eine Funktion soll zwei Eingaben entgegennehmen und überprüfen. Eingabe 1 soll ein Integer größer/gleich 100 und kleiner/gleich 1 Mio sein. Eingabe 2 soll ein Integer größer/gleich 1 und kleiner/gleich 1000 sein. Bei einer Falscheingabe soll der User erfahren, was falsch war, nicht nur dass etwas falsch war.
Habe den leisen Verdacht, dass ich das viel zu kompliziert und zu lange gelöst habe. Bitte einen heißen Tipp! Danke.
Grüße
Strawk
Code: Alles auswählen
def get_and_check_inputs():
# gets and checks inputs for integer and correct range:
# userDesiredUpperBoundary between 100 and 1m
# userDesiredPasses between 1 and 1000
inputUserDesiredUpperBoundary = False
while inputUserDesiredUpperBoundary == False:
try:
userDesiredUpperBoundary = int(input('Choose an upper limit of guessing range. Min.: 100, Max: 1m, must be integer: '))
rule = userDesiredUpperBoundary <= 1000000 and userDesiredUpperBoundary >= 100
if rule:
inputUserDesiredUpperBoundary = True
else:
print('Out of allowed range. Try again.')
inputUserDesiredUpperBoundary = False
except ValueError:
print('Not an integer. Try again.')
inputUserDesiredUpperBoundary = False
inputUserDesiredNumberOfPasses = False
while inputUserDesiredNumberOfPasses == False:
try:
userDesiredPasses = int(input('Choose number of passes. Min.: 1, Max: 1000, must be integer: '))
rule = userDesiredPasses <= 1000 and userDesiredPasses >= 1
if rule:
inputUserDesiredNumberOfPasses = True
else:
print('Out of allowed range. Try again.')
inputUserDesiredNumberOfPasses = False
except ValueError:
print('Not an integer. Try again.')
inputUserDesiredNumberOfPasses = False
return userDesiredUpperBoundary, userDesiredPasses