小白求助
为什么划红线的部分一定要在最后一行 循环结束然后下一次开始的输入啊 本帖最后由 qq1151985918 于 2020-12-17 22:36 编辑代码肯定是放在前面的先执行啊,你想在最开始执行也可以放在最前边,只不过在你循环之前已经有过一次input,所以第一次循环就没必要在最前边再加这一句,你想放在while下边也不是不行啊,你把第一句改成score=1,就可以把你划线的放在while紧下边了,只不过你要是想输入e退出的话就可能报错了,还需要代码优化。 可以这么改进:
while True: # 当程序不满足最底下的 break 的条件时,将一直进行 while 循环
score = input('请输入分数:')
if score.isdigit(): # 当 score 是 数字时,满足 if 条件,将 score 转换成 int
# 如果输入的不是数字,int() 转型会报错,此处改进后,只有当 score 是数字时才会继续运行
# 另外也检查了 score 在满足输入是数字的情况下,不超过范围的问题
score = int(score)
if score < 60:
print('D')
elif 60 <= score < 80:
print('C')
elif 80 <= score <90:
print('B')
elif 90 <= score < 100:
print('A')
elif score == 100:
print('S')
else:
print('超过了数值范围')
else:
break # 当输入的不为数字时,跳出循环,结束程序运行
页:
[1]