while循环不会终止

时间:2017-10-02 02:14:05

标签: python sorting while-loop

学习Python。此任务是允许用户输入数字,只要该数字不是-99。如果输入了标记-99,则用户将无法再输入数字,并且将显示已输入的最大和最小数字。但是,当我输入数字-99时,循环继续询问新数字。

#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()

编辑:

解决。我忘了在()中添加变量...我不确定这些被调用了什么,但我确实理解了它们的功能。它们被称为占位符变量吗?

#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)

main()的

1 个答案:

答案 0 :(得分:1)

修改你的while循环以更新数字变量;数字的值在循环内没有改变

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