Underwood 发表于 2021-2-23 18:19:25

小白求助006,需要输入字母e结束循环

score = input("请输入你的分数:")
g = 1
while g:
    if score == 'e':
         g= g-1
    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 100 == score:
      print("S")
    score = input("请输入你的分数:")
   

我觉得我这个没有问题啊,但输入e就是不结束,第一个input返回的不就是字符值吗?{:10_254:}

昨非 发表于 2021-2-23 18:25:04

本帖最后由 昨非 于 2021-2-23 18:30 编辑

正因为输入e是字符,索引运行到int(score)之后报错了啊
控制循环终止不必用g-1这么麻烦,直接break就好了
score = input("请输入你的分数:")

while 1:
    if score == 'e':
      break
    else:
      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 100 == score:
            print("S")
    score = input("请输入你的分数:")
测试:请输入你的分数:12
D
请输入你的分数:0
D
请输入你的分数:88
B
请输入你的分数:99
A
请输入你的分数:100
S
请输入你的分数:e

qiuyouzhi 发表于 2021-2-23 18:27:20

Python 没那么智能..不会随时判断循环条件,只有在循环体结束或者循环刚开始的时候判断一次。
你要么用break,要么把下面的那些东西放到最开始那个if语句的else里面
页: [1]
查看完整版本: 小白求助006,需要输入字母e结束循环