2017-10-02 4 views
0

Learning Python. Diese Aufgabe ermöglicht es dem Benutzer, Zahlen einzugeben, solange die Zahl nicht -99 ist. Wenn der Sentinel -99 eingegeben wird, kann der Benutzer keine Zahlen mehr eingeben, und die größten und kleinsten Zahlen, die bereits eingegeben wurden, werden angezeigt. Wenn ich jedoch die Zahl -99 eintrage, fragt die Schleife nach neuen Nummern.While-Schleife wird nicht beendet

#main module 
def main(): 

    #Instructions for user 
    print ("This program will allow the user to enter several numbers, 
    positive ") 
    print ("or negative, and sort the largest and smallest numbers from 
    them.") 

    #First number entered by user 
    inputNum = input ("Enter a number other than -99 to be sorted: ") 


    #variables 
    number = inputNum 
    small=number 
    large=number 

    #while loop for getting/sorting numbers 
    while number != -99: 
     if number < small: 
      small = number 
     elif number > large: 
      large = number 
     inputNum = input("Enter a number other than -99 to be sorted: ") 


    lgSm() 


#Module for displaying large and small numbers 
def lgSm(): 
    print ("The largest number you entered is: ", large) 
    print ("The smallest number you entered is: ", small) 


main() 

Edit:

gelöst. Ich habe vergessen, die Variablen innerhalb der() hinzuzufügen ... Ich bin mir nicht sicher, wie diese heißen, aber ich verstehe ihre Funktion. Werden sie Platzhaltervariablen genannt?

#main module 
def main(): 

    #Instructions for user 
    print ("This program will allow the user to enter several numbers, positive ") 
    print ("or negative, and sort the largest and smallest numbers from them.") 

    #First number entered by user 
    inputNum = int (input ("Enter a number other than -99 to be sorted: ")) 


    #variables 
    number=inputNum 
    small=number 
    large=number 


    while number != -99: 
     if number < small: 
      small = number 
     elif number > large: 
      large = number 
     inputNum = int (input("Enter a number other than -99 to be sorted: ")) 
     number = inputNum 

    lgSm(large, small) 


#Module for displaying large and small numbers 
def lgSm(lg, sm): 
    print ("The largest number you entered is: ", lg) 
    print ("The smallest number you entered is: ", sm) 

Haupt()

+1

Sie sagen werden, während Zahl ... Der Wert der Zahl nicht ändert sich nicht – RSon1234

+0

ändert habe ich eine Linie, wie unten gezeigt, aber es hat nicht geholfen :( –

+0

Sie benötigen etwas tun mit Input. Vielleicht können Sie es zu einem int irgendwie ändern. Get zu arbeiten, herauszufinden, wie man das macht – RSon1234

Antwort

1

Ihre while-Schleife Ändern Zahlvariable zu aktualisieren; der Wert der Anzahl innerhalb der Schleife

while number != -99: 
    if number < small: 
     small = number 
    elif number > large: 
     large = number 
    inputNum = int(input("Enter a number other than -99 to be sorted: ")) 
    number = inputNum ## this line in particular 
+0

Lass mich den nächsten Kommentar vorhersagen: "Das geht immer noch nicht!" TIPP: 'intput' gibt ein' str' in Python 3 zurück. – SethMMorton

+0

Sie sind richtig @sethMMorton es ist immer noch nicht ... –

+0

lol .. jetzt sollte es funktionieren. Added Cast zu Int –