Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 列表和While循环_Python_List_Function_While Loop - Fatal编程技术网

Python 列表和While循环

Python 列表和While循环,python,list,function,while-loop,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: ')

我在让代码不接受高于最大值的数字时遇到问题。当我把东西放在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
def addGrade(grade_列表):
myGrades=-1
而0>myGrades<101:
myGrades=int(输入('输入一个介于0和100之间的数字:'))
如果myGrades<0:
打印('太小,请重试')
如果myGrades>101:
打印('太大,请重试')
等级列表。附加(myGrades)
打印(等级列表)
返回我的成绩

问题出在您的while循环中:

而0>myGrades<101:

必须是:

while 0 < myGrades and myGrades < 101:
而0
这是您的代码,如果您输入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
def addGrade(grade_列表):
myGrades=-1
尽管如此:
myGrades=int(输入('输入一个介于0和100之间的数字:'))
如果myGrades==1337:
打破
如果myGrades<0:
打印('太小,请重试')
持续
如果myGrades>101:
打印('太大,请重试')
持续
等级列表。附加(myGrades)
打印(等级列表)
返回我的成绩

是,如前所述,while条件不正确。我就是这样写的:

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)
my_grade=0
而不是(0
请参阅以获取有关格式化帖子(包括代码)的提示。