bin191666 发表于 2023-2-28 23:47:33

改进我们的小游戏(上)

各位大佬,我想问一下为什么我这个是错的啊,我照着答案抄都抄不对。。。。



q = input("请输入你的分数")

while x != "e":
    x = int(q)
   
    if x < 60 :
      print("D")

    if 60 <= x < 80:
      print("C")

    if 80 <= x < 90:
      print("B")

    if 90 <= x < 100:
      print("A")

    if x == 100:
      print("S")

    x = input("请输入你的分数")

isdkz 发表于 2023-2-28 23:53:53

x 在 while 循环的条件语句之前没有定义

x = input("请输入你的分数")                         # 把 q 改为 x

while x != "e":
    x = int(x)                         # 把 q 改为 x
   
    if x < 60 :
      print("D")

    if 60 <= x < 80:
      print("C")

    if 80 <= x < 90:
      print("B")

    if 90 <= x < 100:
      print("A")

    if x == 100:
      print("S")

    x = input("请输入你的分数")

KeyError 发表于 2023-3-1 00:06:05

本帖最后由 KeyError 于 2023-3-6 18:13 编辑

q = input("请输入你的分数: ")    #第一次的输入

while x != "e":
    x = int(q)    #这里将x重新赋值为第一次的输入变为整数后的结果

    #判断语句,不写了

    x = input("请输入你的分数: ")    #这里将x赋值为用户的输入
你在把x赋值为用户的输入后,又把他赋值为int(q),
所以无论你在第二次包括之后的输入什么,
都只会判断第一次的输入。

还有,
while x != "e":
      ^
Python认为你没有定义变量x,应该改成:
q = input("请输入你的分数: ")

if q != "e":
    while q != "e":
      q = int(q)

      if q < 60 :
            print("D")

      if 60 <= q < 80:
            print("C")

      if 80 <= q < 90:
            print("B")

      if 90 <= q < 100:
            print("A")

      if q == 100:
            print("S")

      q = input("请输入你的分数: ")

   

KeyError 发表于 2023-3-1 00:08:13

isdkz 发表于 2023-2-28 23:53
x 在 while 循环的条件语句之前没有定义

为什么每次你都比我抢先一步发表答案{:10_266:}

bin191666 发表于 2023-3-1 09:55:32

KeyError 发表于 2023-3-1 00:06
你在把x赋值为用户的输入后,又把他赋值为int(q),
所以无论你在第二次包括之后的输入什么,
都只会判 ...

看了大佬的讲解,明白了!非常感谢
页: [1]
查看完整版本: 改进我们的小游戏(上)