Python零基础教学 007讲动动手二
我写的代码输入成绩后一直返回某值,死循环,感觉小甲鱼的要简单一点,但是不懂为啥他的可以运行,代码如下:score = input("请输入你的分数:")
while score != 'e':
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("请输入你的分数:")
可能是因为你的score = input("请输入你的分数:") 不在循环内,而是在循环外
所以导致循环没有重新输入 score 的值也就陷入死循环
建议将你的代码发上来哈~
给的代码没问题呀,看看你的缩进 Twilight6 发表于 2020-7-29 14:51
可能是因为你的score = input("请输入你的分数:") 不在循环内,而是在循环外
所以导致循环没有重 ...
不对,不对,刚才那个代码是小甲鱼的,不小心复制错了,这个是我的:
print('这是一个成绩评级程序')
num = input('请输入你的分数:')
while grade != 'e':
grade = int(num)
if grade == 100:
print('你就是个天才')
else:
if 90 <= grade < 100:
print('A')
else:
if 80 <= grade < 90:
print('B')
else:
if 60 <= grade < 80:
print('C')
else:
if grade < 60:
print('你就是个蠢蛋')
else:
break
print('恭喜你,完成了成绩评价。') 本帖最后由 Twilight6 于 2020-7-29 15:04 编辑
辞浅而情深 发表于 2020-7-29 14:56
不对,不对,刚才那个代码是小甲鱼的,不小心复制错了,这个是我的:
print('这是一个成绩评级程序')
n ...
错误原因也是一样的哈,而且你的代码忘记将 grade 初始化了
你只需要在循环末尾加上 num = input('请输入你的分数:') 就好了
而且你的 else:break 可以动下, 最后的 if 条件 也加上 0<= 的范围,这样就更好了
print('这是一个成绩评级程序')
num = input('请输入你的分数:')
while num != 'e':
grade = int(num)
if grade == 100:
print('你就是个天才')
else:
if 90 <= grade < 100:
print('A')
else:
if 80 <= grade < 90:
print('B')
else:
if 60 <= grade < 80:
print('C')
else:
if 0<= grade < 60:
print('你就是个蠢蛋')
else:
print('你输入的分数有误!')
num = input('请输入你的分数:')
print('恭喜你,完成了成绩评价。') 1q23w31 发表于 2020-7-29 14:54
给的代码没问题呀,看看你的缩进
不好意思,刚才给的那个是小甲鱼的,不小心给错了,我的代码如下:
print('这是一个成绩评级程序')
num = input('请输入你的分数:')
grade = int(num)
while grade != 'e':
if grade == 100:
print('你就是个天才')
else:
if 90 <= grade < 100:
print('A')
else:
if 80 <= grade < 90:
print('B')
else:
if 60 <= grade < 80:
print('C')
else:
if grade < 60:
print('你就是个蠢蛋')
else:
break
print('恭喜你,完成了成绩评价。')
Twilight6 发表于 2020-7-29 15:00
错误原因也是一样的哈,而且你的代码忘记将 grade 初始化了
你只需要在循环末尾加上 num = inpu ...
谢谢了啊,太感谢了 辞浅而情深 发表于 2020-7-29 14:56
不对,不对,刚才那个代码是小甲鱼的,不小心复制错了,这个是我的:
print('这是一个成绩评级程序')
n ...
刚刚代码中有些小问题,循环条件应该写成 num != 'e' 哈 Twilight6 发表于 2020-7-29 15:04
刚刚代码中有些小问题,循环条件应该写成 num != 'e' 哈
为什么啊,不是已经把num的值赋给grade了嘛
辞浅而情深 发表于 2020-7-29 15:19
为什么啊,不是已经把num的值赋给grade了嘛
每次循环是通过判断 num 是否输入 e 来判断是否退出循环的
因为 int 不能将一个字母使用会报错转为数字 Twilight6 发表于 2020-7-29 15:04
刚刚代码中有些小问题,循环条件应该写成 num != 'e' 哈
我刚才试了一下,我发现不管事num != 'e'还是grade != 'e' 好像都不太对,当输入e的会后都会出问题 Twilight6 发表于 2020-7-29 15:21
每次循环是通过判断 num 是否输入 e 来判断是否退出循环的
因为 int 不能将一个字母使用会报错转 ...
print('这是一个成绩评级程序')
num = input('请输入你的分数:')
grade = int(num)
while num != 'e':
grade = int(num)
if grade == 100:
print('你就是个天才')
else:
if 90 <= grade < 100:
print('A')
else:
if 80 <= grade < 90:
print('B')
else:
if 60 <= grade < 80:
print('C')
else:
if 0 <= grade < 60:
print('你就是个蠢蛋')
else:
print('你输入的成绩有误')
num = input('请输入你的分数')
print('恭喜你,完成了成绩评价。')
这个还是会报错,难过 辞浅而情深 发表于 2020-7-29 15:26
print('这是一个成绩评级程序')
num = input('请输入你的分数:')
grade = int(num)
你这是我之前的代码,后来我和你说改了一下,你重新去 5L 看看 Twilight6 发表于 2020-7-29 15:27
你这是我之前的代码,后来我和你说改了一下,你重新去 5L 看看
好像是理解了,膜拜大佬,谢谢啦!
页:
[1]