而循环不会终止

2024-03-29 15:57:12 发布

您现在位置:Python中文网/ 问答频道 /正文

学习Python。此任务允许用户输入数字,只要数字不是-99。如果输入sentinel-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)

主()


Tags: andthetonumberformaindef数字
1条回答
网友
1楼 · 发布于 2024-03-29 15:57:12

修改while循环以更新number变量;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 ## this line in particular

相关问题 更多 >