我遇到了让我的代码不接受高于最大值的数字的问题。当我输入高于101的值时,它只会说“太大,请重试”,但不会让我重试。这使我脱离了循环,必须重新启动该功能才能重试。当输入小于0的数字时,它可以正常工作。

def addGrade(grade_list):
    myGrades = -1
    while 0 > myGrades < 101:
        myGrades = int(input('Enter a number between 0 and 100: '))
        if myGrades < 0:
            print('Too small, try again')
        if myGrades > 101:
            print('Too big, try again')
    grade_list.append(myGrades)
    print(grade_list)
    return myGrades

最佳答案

问题出在您的while循环内:

而0> myGrades
一定是:

while 0 < myGrades and myGrades < 101:


这是您的代码正常工作,如果您输入1337,它将退出功能

def addGrade(grade_list):
    myGrades = -1
    while True:
        myGrades = int(input('Enter a number between 0 and 100: '))
        if myGrades == 1337:
            break
        if myGrades < 0:
            print('Too small, try again')
            continue
        if myGrades > 101:
            print('Too big, try again')
            continue
        grade_list.append(myGrades)
        print(grade_list)
    return myGrades

07-24 18:48