如何处理异常
如图所示,请教一下常见异常该如何改正。score = input ("请输入你的分数,退出输入EXIT")
while score != 'EXIT':
score = int (score)
if score < 60:
print("D")
if 60 <= score < 80:
print("C")
if 80 <= score < 90:
print("B")
if 90 <= score < 100:
print("A")
if score == 100:
print("S")
score = input("请输入你的分数:") try except语句 本帖最后由 qiuyouzhi 于 2020-5-12 14:29 编辑
可以用字符串方法来修改你的代码。
score = input ("请输入你的分数,退出输入EXIT")
flag = False
while True:
while not score.isdigit():
if score == "EXIT":
flag = True
break
score = input ("输入错误,请再次请输入你的分数,退出输入EXIT")
if flag:
break
score = int(score)
if score < 60:
print("D")
if 60 <= score < 80:
print("C")
if 80 <= score < 90:
print("B")
if 90 <= score < 100:
print("A")
if score == 100:
print("S")
score = input("请输入你的分数:")
本帖最后由 wuqramy 于 2020-5-12 14:57 编辑
用try except语句:
score = input ("请输入你的分数,退出输入EXIT")
while score != 'EXIT':
while True:
try:
score = int (score)
break
except:
score = input('输入错误!请重新输入:')
if score < 60:
print("D")
if 60 <= score < 80:
print("C")
if 80 <= score < 90:
print("B")
if 90 <= score < 100:
print("A")
if score == 100:
print("S")
score = input("请输入你的分数:")
还可以用字符串方法:
score = input ("请输入你的分数,退出输入EXIT")
while score != 'EXIT':
while not score.isdigit():
score = input ("输入错误,请再次请输入你的分数,退出输入EXIT")
if score == 'EXIT':
break
if score == 'EXIT':
break
score = int(score)
if score < 60:
print("D")
if 60 <= score < 80:
print("C")
if 80 <= score < 90:
print("B")
if 90 <= score < 100:
print("A")
if score == 100:
print("S")
score = input("请输入你的分数:") wuqramy 发表于 2020-5-12 14:30
用try except语句:
还可以用字符串方法:
你的程序是有问题滴!
若打算输入 EXIT 退出,却错输成了其他字母,则必须要再输入一个分数之后才能输入 EXIT进行退出
而且你的第一个程序,若连续两次输入的都不是数字,那程序就抛出异常了 sunrise085 发表于 2020-5-12 14:39
你的程序是有问题滴!
若打算输入 EXIT 退出,却错输成了其他字母,则必须要再输入一个分数之后才能输入 ...
还有就是输入的分数大于一百的时候,就什么反应都没有 sunrise085 发表于 2020-5-12 14:39
你的程序是有问题滴!
若打算输入 EXIT 退出,却错输成了其他字母,则必须要再输入一个分数之后才能输入 ...
嗯
改好了 import sys
while True:
score = input("请输入你的分数,退出输入EXIT:")
flag=False
if score=="EXIT":
sys.exit(0)
while flag==False:
try:
score = int (score)
flag=True
except:
score = input('输入错误!请重新输入(输入EXIT退出):')
if score=="EXIT":
sys.exit(0)
score = int (score)
if score < 60:
print("D")
if 60 <= score < 80:
print("C")
if 80 <= score < 90:
print("B")
if 90 <= score < 100:
print("A")
if score == 100:
print("S")
页:
[1]