|
发表于 2020-5-18 07:47:58
|
显示全部楼层
本楼为最佳答案
本帖最后由 Twilight6 于 2020-5-18 07:57 编辑
input 是接受用户输入之后返回一个字符串类型的值
而 int是将数字符串转化为整型,若不是数字字符串就会报错,例如你想想,假设你input输入了个汉字,int如何把汉字转为整数?完全不可行,所以同理,python中就会导致报错
在你的代码基础上进行更改了下代码位置,其他没变:
- time = 2
- while time > 1:
- temp = input("请输入你的分数:")
- if temp == "e":
- time = time - 2
- print("完结撒花")
- else:
- score = int(temp)
- if 0 <= score < 60:
- print("D")
- else:
- if 60 <= score < 80:
- print("C")
- else:
- if 90 <= score < 100:
- print("A")
- else:
- if score == 100:
- print("S")
- else:
- print("你搁这逗我玩呢?")
复制代码
你到后面几课如果学到字符串方法和break,continue 和 elif 就可以更好解决这些问题了
例如字符串有个方法:isdigit() 如果字符串只包含数字则返回 True,否则返回 False。作为判断条件,True后在将其转为int整型就不会报错
break 可以退出循环
continue 可以终止本次循环,开始下次循环
elif 只要前面同缩进下的elif 或 第一个 if 条件满足一个,之后的elif 都不会在进行判断
然后我们代码就可以这样改:
- while 1:
- temp = input("请输入你的分数:")
- if temp.isdigit(): # 这边判断你输入的是不是纯数字字符串,若是继续执行代码
- score = int(temp)
- if 0 <= score < 60:
- print("D")
- elif 60 <= score < 80:
- print("C")
- elif 90 <= score < 100:
- print("A")
- elif score == 100:
- print("S")
- else:
- print("你搁这逗我玩呢?")
- elif temp == "e":
- print("完结撒花")
- break
复制代码
如果帮助到你了,记得给个最佳哦~
|
|