列表和While循环

时间:2015-10-20 20:43:26

标签: 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

2 个答案:

答案 0 :(得分:1)

问题在于你的while循环:

而0&gt; myGrades&lt; 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

答案 1 :(得分:0)

是的,正如已经说过的那样,条件不正确。这就是我写它的方式:

my_grade = 0
while not (0 < my_grade < 101):
    my_grade = int(input('Enter number: '))
print 'Ok this is a good value {}'.format(my_grade)
相关问题