python - 列表和 While 循环

标签 python list function while-loop

我在让我的代码不接受高于最大值的数字时遇到问题。当我输入高于 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 < 101 时:

必须是:

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

关于python - 列表和 While 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33246446/

相关文章:

python - 读取字符时python中的UTF-8问题

python - 如何使用 python 使用变量打印 html 文本?

python - 使用 wxPython 将现有布局替换为新布局

python - UnicodeDecodeError : 'utf-16-le'

python - 将列表元素添加到字典值

javascript - 在同一功能的操作之间添加时间延迟?

python - 将元组附加到列表

python - 列表列表列表中项目的索引(Python)

javascript - 我可以让获取函数每隔几秒重复一次吗

javascript - 如何在 Javascript 中重写此函数