难顶哦好兄弟
time = 2while time > 1:
temp = input("请输入你的分数:")
score = int(temp)
if0 <= score < 60:
print("D")
else:
if60 <= score < 80:
print("C")
else:
if 90 <= score < 100:
print("A")
else:
if score == 100:
print("S")
else:
if score == "e":
time = time - 2
print("完结撒花")
else:
print("你搁这逗我玩呢?")
就是做不到输入e就结束,我对比了下小甲鱼写的,他是在开头就把score不等于e就开始循环这个给写上了,我这个有办法改成输入e停下吗?(!=我还是百度的,小甲鱼又留超纲作业(手动狗头
感谢大佬们的帮助 如果输入“e”的话这一行:score = int(temp)就会报错 所以判断是否等于“e”的语句应该放到score = int(temp)这句的前面 time = 2
while time > 1:
temp = input("请输入你的分数:")
if temp == "e":
time = time - 2
print("完结撒花")
elif not temp.isdigit():
print("输入错误!")
break
score = int(temp)
if0 <= score < 60:
print("D")
else:
if60 <= score < 80:
print("C")
else:
if 90 <= score < 100:
print("A")
else:
if score == 100:
print("S")
else:
print("你搁这逗我玩呢?") 本帖最后由 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)
if0 <= score < 60:
print("D")
else:
if60 <= 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)
if0 <= score < 60:
print("D")
elif60 <= score < 80:
print("C")
elif 90 <= score < 100:
print("A")
elif score == 100:
print("S")
else:
print("你搁这逗我玩呢?")
elif temp == "e":
print("完结撒花")
break
如果帮助到你了,记得给个最佳哦~{:10_287:}
直接输入e就break掉循环不得了么?……
另外你的if else分支也不对 ..最好不要这么写,容易乱。
直接elif就好。
while 1:
score = input("请输入你的分数,输入e退出:")
if score == "e":
print("退出当前程序")
break
else:
score = int(score)
if score == 100:
print("S")
elif score >= 90:
print("A")
elif score >=80:
print("B")
elif score >=70:
print("C")
elif score >=60:
print("D")
else:
print("不及格")
{:10_266:} heidern0612 发表于 2020-5-18 07:55
直接输入e就break掉循环不得了么?……
另外你的if else分支也不对 ..最好不要这么写,容易乱。
elif还没学呢哈哈,这个是什么意思啊 KevinHu 发表于 2020-5-18 06:40
所以判断是否等于“e”的语句应该放到score = int(temp)这句的前面
谢谢大佬
页:
[1]