006 动动手 1.0 int前置为何会出错
https://s1.ax1x.com/2020/03/20/867QI0.jpg但是是在 while第二行再int,但是为什么在前面int会报错呢? 不知道,反正我这没报错
不如把代码发上来试试 永恒的蓝色梦想 发表于 2020-3-20 10:06
不知道,反正我这没报错
不如把代码发上来试试
score = int(input("请输入你的分数:"))
while score != 'e':
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("请输入你的分数:") 本帖最后由 永恒的蓝色梦想 于 2020-3-20 10:39 编辑
pq986868 发表于 2020-3-20 10:08
score = int(input("请输入你的分数:"))
while score != 'e':
while 1:
score = input("请输入你的分数:")
if score=='e':
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")
最后一行再加一个int就可以了
pq986868 发表于 2020-3-20 10:08
score = int(input("请输入你的分数:"))
while score != 'e':
你这个循环 !='e'是没有用的,因为前面你把输入转换成了int,永远都是不等于'e',如果你输入e就会报错,因为int函数没法把e转换为int hrp 发表于 2020-3-20 10:31
你这个循环 !='e'是没有用的,因为前面你把输入转换成了int,永远都是不等于'e',如果你输入e就会报错, ...
但是 甲鱼的答案是这样编的 永恒的蓝色梦想 发表于 2020-3-20 10:12
最后一行再加一个int就可以了
请输入你的分数:20
D
请输入你的分数:e
Traceback (most recent call last):
File "H:\my-Document\pc-Document\python\py鱼C\Practice\006-n-1..py", line 20, in <module>
score = int(input("请输入你的分数:"))
ValueError: invalid literal for int() with base 10: 'e'
这样操作它不是停止,而是报错 pq986868 发表于 2020-3-20 10:36
这样操作它不是停止,而是报错
while 1:
score = input("请输入你的分数:")
if score=='e':
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") pq986868 发表于 2020-3-20 10:34
但是 甲鱼的答案是这样编的
是不是输入e就报错?你确定小甲鱼说这个是正确答案么?还是说有缺陷需要改进? hrp 发表于 2020-3-20 10:39
是不是输入e就报错?你确定小甲鱼说这个是正确答案么?还是说有缺陷需要改进?
我也是初学者,还未能判断是否为正确答案。目前只要是 能执行 不报错就应该是对的了 pq986868 发表于 2020-3-20 11:53
我也是初学者,还未能判断是否为正确答案。目前只要是 能执行 不报错就应该是对的了
我意思是说题目是明说答案有缺陷让你改进答案,还是明说这个答案就是正确答案,毕竟不是所有人都看过题目,我也不知道答案是啥情况 Python 报错是因为 一个字符串和一个整形比较,在别的语言可以,
但在 Python 中不可以,错误原因就是 score 是一个字符串,
所以要在循环前面把它转化成整形。
代码应该改成这样:
score = int(input("请输入你的分数:"))
while score != 'e':
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("请输入你的分数:") hrp 发表于 2020-3-20 12:25
我意思是说题目是明说答案有缺陷让你改进答案,还是明说这个答案就是正确答案,毕竟不是所有人都看过题目 ...
这就是正确答案 lixiangyv 发表于 2020-3-20 13:10
Python 报错是因为 一个字符串和一个整形比较,在别的语言可以,
但在 Python 中不可以,错误原因就是 sco ...
请输入你的分数:60
C
请输入你的分数:80
Traceback (most recent call last):
File "H:/my-Document/pc-Document/python/py鱼C/Practice/007-n-0..py", line 5, in <module>
if score < 60:
TypeError: '<' not supported between instances of 'str' and 'int'
我自己编的就是这个,输入第二次之后就报错 pq986868 发表于 2020-3-20 17:29
我自己编的就是这个,输入第二次之后就报错
哦,复制了忘了改了,
应该是这样: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("请输入你的分数:")
页:
[1]