世林 发表于 2020-11-22 11:21:10

小白求助

大佬没帮我康康为什么while语句判断false还是继续执行

a = input('输入一个数字:')
x = int(a)
while a != 6:
    a = input('输错了,重新输入:')
    x = int(a)
    if x == 6 :
      print('正确!')
    else:
      if x < 6:
            print('小了')
      else:
            print('大了')
print('game over!')      



昨非 发表于 2020-11-22 11:24:32

本帖最后由 昨非 于 2020-11-22 11:31 编辑

a = input('输入一个数字:')
x = int(a)
while x != 6:      #这里改成X,字符串6和int型6是不同的
    if x < 6:
      print('小了')
    elif x > 6:
      print('大了')
    a = input('输错了,重新输入:')
    x = int(a)

if x == 6 :#把这句移到下面,不进入循环的条件下(=6),直接打印正确
    print('正确!')
print('game over!')   

逃兵 发表于 2020-11-22 11:26:42

因为a是字符串,不会等于整型的
所以应该判断x是否等于6
a = input('输入一个数字:')
x = int(a)
while x != 6:
    a = input('输错了,重新输入:')
    x = int(a)
    if x == 6 :
      print('正确!')
    else:
      if x < 6:
            print('小了')
      else:
            print('大了')
print('game over!')      

永恒的蓝色梦想 发表于 2020-11-22 11:29:42

昨非 发表于 2020-11-22 11:24


错解

昨非 发表于 2020-11-22 11:30:29

a = input('输入一个数字:')
x = int(a)
while x != 6:      #这里改成X,字符串6和int型6是不同的
    if x < 6:
      print('小了')
    elif x > 6:
      print('大了')
    a = input('输错了,重新输入:')
    x = int(a)

if x == 6 :#把这句移到下面,不进入循环的条件下(=6),直接打印正确
    print('正确!')
print('game over!')   

昨非 发表于 2020-11-22 11:31:37

永恒的蓝色梦想 发表于 2020-11-22 11:29
错解

知道了,刚刚去编辑了

昨非 发表于 2020-11-22 11:37:57

逃兵 发表于 2020-11-22 11:26
因为a是字符串,不会等于整型的
所以应该判断x是否等于6

你这个猜对时的“正确”是打印不出来的

世林 发表于 2020-11-22 11:39:44

昨非 发表于 2020-11-22 11:30


懂了,感谢。

昨非 发表于 2020-11-22 11:43:24

世林 发表于 2020-11-22 11:39
懂了,感谢。

刚刚第一遍错答了,没问题了就好哈{:10_297:}

逃兵 发表于 2020-11-22 11:44:12

昨非 发表于 2020-11-22 11:37
你这个猜对时的“正确”是打印不出来的

这个是小甲鱼老师旧版python的代码
专门留了这么个bug
要通过后面的视频学习去解决

昨非 发表于 2020-11-22 11:57:11

逃兵 发表于 2020-11-22 11:44
这个是小甲鱼老师旧版python的代码
专门留了这么个bug
要通过后面的视频学习去解决

{:10_245:}
页: [1]
查看完整版本: 小白求助