Ihr Programm in kleine überschaubare Einheiten brechen mit nur einer einfachen Start-Funktion die Nummer
def input_number(prompt="Enter A Number:"):
while True:
try: return int(input(prompt))
except ValueError:
if not input: return None #user is done
else: print("That's not an integer!")
dann schreibt eine Funktion erhalten Zahlen weiterhin von dem Benutzer erhalten, bis sie die Eingabe von Zahlen gemacht werden
def get_minmax_numbers(prompt="Enter A Number: "):
maxN = None
minN = None
tmp = input_number(prompt)
while tmp is not None: #keep asking until the user enters nothing
maxN = tmp if maxN is None else max(tmp,maxN)
minN = tmp if minN is None else min(tmp,minN)
tmp = input_number(prompt) # get next number
return minN, maxN
dann legte sie nur zusammen
print("Enter Nothing when you are finished!")
min_and_max = get_numbers()
print("You entered Min of {0} and Max of {1}".format(*min_and_max)
Können Sie bitte eine typische Benutzereingabe und der entsprechenden erwarteten Ausgang zur Verfügung stellen? Was passiert gerade, was für dich nicht funktioniert? – idjaw
Randbemerkung: Python benötigt keine bedingten/Schleifenkonstrukte, die in Parens eingeschlossen werden sollen. Verwenden Sie sie nicht, es sei denn, es gibt ein Vorrangproblem, das sie lösen. 'while True:' ist sauberer/mehr Pythonic als 'while (True):' und 'wenn x.isdigit():' ist ähnlich besser als 'if (x.isdigit()):'. – ShadowRanger