2016-06-18 5 views
1

Hey Leute, ich kann nicht herausfinden, wie man eine While-Schleife benutzt, um die kleinste von einem Benutzer eingegebene Nummer zu finden. Ich weiß, dass ich eine Nummer eingeben muss, um das Programm zu stoppen, und dann die kleinste eingegebene Nummer auszudrucken. Dies ist, was ich bis jetzt habe:Mit while-Schleife die kleinste Benutzereingangsnummer finden

while(True): 
    A = int(input("Enter a Number (Use -1 to Stop): ")) 
    if(A == -1): 
     break 

Jede Hilfe wäre dankbar, danke.

Antwort

1

Sie können ganz einfach speichern alle Werte in einer Liste und dann min verwenden, aber wenn Sie darauf bestehen, nicht zu:

min_val = None 
while True: 
    A = int(input("Enter a Number (Use -1 to Stop): ")) 
    if A == -1: 
     break 
    if not min_val or A < min_val: 
     min_val = A 

Die if überprüft, ob es der erste Wert gibt der Benutzer ist oder wenn der neue Wert ist kleiner als das vorherige Minimum.
Wenn der while bricht, ist min_val entweder None (wenn der erste Wert, den der Benutzer eingibt, -1 ist) oder der Mindestwert, den der Benutzer eingegeben hat.

1

Initialisieren Sie die Nummer vor der Schleife und aktualisieren Sie ihren Wert, wenn die neue Zahl kleiner ist. Dies sollte tun:

# initialize minimum 
minimum = int(input("Enter a Number: ")) 
while(True): 
    A = int(input("Enter a Number (Use -1 to Stop): ")) 
    if(A == -1): 
     break 
    if minimum > A: 
     minimum = A 
print(minimum) 
+0

das hat funktioniert, vielen Dank! Woher weißt du, es zu initialisieren? – Zjm4192

+0

Wenn Sie mit neuen Werten vergleichen, sollten Sie zumindest einen Anfangswert haben :-) –

1

-Code unten würde Ihren Bedarf anpassen:

b = -1 
while(True): 
    A = int(input("Enter a Number (Use -1 to Stop): ")) 
    if(A == -1): 
     print b 
     break 
    b = b if A > b else A 

Good Luck!

Verwandte Themen