str类型无法与int类型比较
python第006讲,改进我们的小游戏,课后作业https://fishc.com.cn/forum.php?mod=viewthread&tid=145252&extra=page%3D1%26filter%3Dtypeid%26typeid%3D760
我把score = int(score) 放到 while score != “e”:上面,输入第二次分数之后就报错,(正确代码是放到while 下面),没有想明白,请大神们解惑,十分感谢
score = input("请输入你的分数:")
score = int(score)
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("请输入你的分数:")
运行错误:
======= RESTART: C:\Users\huang\Desktop\kaoshidaima.py =======
请输入你的分数:68
C
请输入你的分数:55
Traceback (most recent call last):
File "C:\Users\huang\Desktop\kaoshidaima.py", line 11, in <module>
if score < 60:
TypeError: '<' not supported between instances of 'str' and 'int' 最后再加一句:
score = int(score) python爱好者. 发表于 2022-4-17 14:46
最后再加一句:
别忘了缩进实在 while 里哦 python爱好者. 发表于 2022-4-17 14:46
最后再加一句:
因为你前面第一次进入循环的时候这个变量是数字类型,
而从这以后的循环却都不是数字类型,所以需要转换 1. 首先报错的位置不是在while里面的比较,而是在 if条件判断
2. input函数返回值是一个字符串
3. 字符串和数字是不可以比较大小的 本帖最后由 坚持自律 于 2022-4-18 22:23 编辑
第一次的时候,刚进和循环,没有走到最下面的input,第二次的时候,因为你没有转换类型,输入的是字符类型,所以会出错。
两种办法,一种是把循环内部的input,转换成int类型。
第二种,直接把判断条件改为True,while上面的内容放到循环里面
页:
[1]