Python 列表和While循环
我在让代码不接受高于最大值的数字时遇到问题。当我把东西放在101以上时,它只是说“太大了,再试一次”,但它不会让我再试一次。它将我带出循环,我必须重新启动函数以重试。当输入一个小于0的数字时,它可以正常工作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: ')
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
请参阅以获取有关格式化帖子(包括代码)的提示。