久远的心宿三 发表于 2020-9-19 20:38:50

为啥这个程序直接结束??

纯小白求问,为啥这个运行后直接结束??哪里有问题啊??
i = 3
print('______________python初学者编程猜数字游戏__________________')
guess = 0
print('请打出你心里猜测的数字:',end = '')
while (guess != 6) and (i > 3):
    a = input('哎,猜错了,请重新输入:')
    guess = int(a)
    i = i - 1
    if guess == 6:
            print("我草,你是小甲鱼心里的蛔虫吗?!")
            print("哼,猜中额也没有奖励!")
    else:
      if guess > 6:
            print('哥,大了大了~~!')
      else:
            print("嘿,小了,小了!!")
      if i >0:
            print('再试一次吧:',end = '')
      else:
            print('游戏结束啦')
print("游戏结束,不玩啦^_^")

昨非 发表于 2020-9-19 20:44:42

i = 3
print('______________python初学者编程猜数字游戏__________________')
guess = 0
print('请打出你心里猜测的数字:',end = '')
while (guess != 6) and (i > 3):      #你这里i>3不成立,就没有进入循环,当然就直接结束了
    a = input('哎,猜错了,请重新输入:')
    guess = int(a)
    i = i - 1
    if guess == 6:
            print("我草,你是小甲鱼心里的蛔虫吗?!")
            print("哼,猜中额也没有奖励!")
    else:
      if guess > 6:
            print('哥,大了大了~~!')
      else:
            print("嘿,小了,小了!!")
      if i >0:
            print('再试一次吧:',end = '')
      else:
            print('游戏结束啦')
print("游戏结束,不玩啦^_^")

昨非 发表于 2020-9-19 20:45:13

见第五行注释

昨非 发表于 2020-9-19 20:47:36

而且你这段代码guess=0是不是打错了

久远的心宿三 发表于 2020-9-19 21:15:18

昨非 发表于 2020-9-19 20:47
而且你这段代码guess=0是不是打错了

谢谢老哥,我以为是出现啥大问题了,原来是我脑残了,数学逻辑出问题了。。
请问guess=0有啥问题?guess=0的作用是不是要赋予guess一个初值让接下来的while函数中的guess有一个初始值从而让程序判断guess是否等于6进而继续执行程序?

昨非 发表于 2020-9-19 21:17:01

久远的心宿三 发表于 2020-9-19 21:15
谢谢老哥,我以为是出现啥大问题了,原来是我脑残了,数学逻辑出问题了。。
请问guess=0有啥问题?guess ...

也不是啥大问题,就是没必要来这么一行

久远的心宿三 发表于 2020-9-19 21:29:38

昨非 发表于 2020-9-19 21:17
也不是啥大问题,就是没必要来这么一行

不给guess赋予初值,程序不就出错了嘛?

昨非 发表于 2020-9-19 21:33:21

久远的心宿三 发表于 2020-9-19 21:29
不给guess赋予初值,程序不就出错了嘛?

你说得对,我刚刚看错了,while判断早于下方输入guess,需要用到guess,必须有初值
页: [1]
查看完整版本: 为啥这个程序直接结束??