while语句求助
这个代码,我想如果输入数字不是1-100,就提示应该输入1-100的数,然后再循环运行,但是这个代码,必须先输入一个1-100区间之外的数,在输入一个1-100之内的数,它才会进行ABCD分类。想请教一下大家,如何让它如果是1-100,直接分类,不是1-100,提示应该输入1-100再分类。temp = input('请输入一个分数: ')
score = int(temp)
while (score > 100) or (score <= 0):
temp = input('请输入1到100的整数:')
score = int(temp)
if score>= 90:
print('A')
elif 80 <= score < 90:
print('B')
elif 60 <= score < 80:
print('C')
else:
print('D')
print('谢谢使用!')
谢谢大家!!!
while True:
temp = input('请输入1到100的整数:')
score = int(temp)
if score > 0 and score < 101:
pass
else:
continue
if score >= 90:
print('A')
elif 80 <= score < 90:
print('B')
elif 60 <= score < 80:
print('C')
else:
print('D')
print('谢谢使用!')
break temp = input('请输入一个分数: ')
score = int(temp)
while (score > 100) or (score <= 0):
temp = input('请输入1到100的整数:')
score = int(temp)
if score >= 90:
print('A')
elif 80 <= score < 90:
print('B')
elif 60 <= score < 80:
print('C')
else:
print('D')
print('谢谢使用!') _谪仙 发表于 2019-8-17 10:48
谢谢啦,把 if 取消缩进也可以。我原来那个好像比较繁琐…… 谢谢! 应该把IF语句移出while循环,还可以多加一个try-except判断,用于过滤用户输入字母或小数时出现的错误,这样用户输入任何值都能正常运行了
def getInput():
try:
temp = input('请输入一个分数:')
score = int(temp)
except:
return getInput()
while (score > 100) or (score <= 0):
temp = input('请输入1到100的整数:')
score = int(temp)
if score>= 90:
print('A')
elif 80 <= score < 90:
print('B')
elif 60 <= score < 80:
print('C')
else:
print('D')
print('谢谢使用!')
getInput() 不行 上面的程序先输入一个大于100的数,再输入字母,还是会报错,while需要放到try:里面
def getInput():
try:
temp = input('请输入一个分数:')
score = int(temp)
while (score > 100) or (score <= 0):
temp = input('请输入1到100的整数:')
score = int(temp)
except:
return getInput()
if score>= 90:
print('A')
elif 80 <= score < 90:
print('B')
elif 60 <= score < 80:
print('C')
else:
print('D')
print('谢谢使用!') 5584197 发表于 2019-8-17 13:32
不行 上面的程序先输入一个大于100的数,再输入字母,还是会报错,while需要放到try:里面
def getInput ...
确实这样可以了,输字母也不会报错了。谢谢啦!我还没学到def getInput()和try,提前见识了,谢谢!
页:
[1]