Rorschach7 发表于 2020-9-4 01:26:19

老哥们帮帮忙这要怎么该

第一次输对就直接结束了,不会有对的提示语,第一次没有猜对也不会有大小的提示,新人没鱼币买不了答案,希望各位老哥们可以帮帮我!!!!!!!!!!{:10_266:} {:10_266:} {:10_266:}
print("--------------------猜数字--------------------")
temp = input("猜一下数字:")
guess = int(temp)
while guess != 12:
    temp = input("不对再猜:")
    guess = int(temp)
    if guess == 12:
      print("猜对了")
      print("猜对了也没用")
    else:
      if guess > 12:
            print("大了")
      else:
            print("小了")
print("结束")
input()

疾风怪盗 发表于 2020-9-4 01:30:58

改成这样吧
print("--------------------猜数字--------------------")
temp = input("猜一下数字:")
guess = int(temp)
while guess >=0:
    if guess == 12:
      print("猜对了")
      print("猜对了也没用")
      print("结束")
      break
    else:
      if guess > 12:
            print("大了")
      else:
            print("小了")
      temp = input("不对再猜:")
      guess = int(temp)

疾风怪盗 发表于 2020-9-4 01:32:50

你的while条件是判断输入的不是12,所以当你输入12,猜对了,直接就跳到结束了,根本没进入循环,也就没有打印了

要第一次就判断大小,就把再次输入的那个input放在判断大小后面

heidern0612 发表于 2020-9-4 10:00:29

逻辑自相矛盾了。

while循环设置的是不等于12,你的while循环逻辑里又需要等于12.

你让python情何以堪啊。{:10_245:}

Rorschach7 发表于 2020-9-6 20:12:07

疾风怪盗 发表于 2020-9-4 01:30
改成这样吧

感谢老哥!

一抹心尘 发表于 2020-10-31 11:11:39

你的代码第4行while guess != 12: 当你输入12时,while 判断直接为False ,就不会进入循环,
那自然就会没有猜对了这3个字的打印,因为你这个循环内的语句不会被执行啊,它直接跳出这个循环了。
我给你改一哈。
print("--------------------猜数字--------------------")
temp = input("猜一下数字:")
guess = int(temp)
while guess >=0:
    if guess == 12:
      print("猜对了")
      print("猜对了也没用")
      print("结束了,haha")
      break
    else:
      if guess > 12:
            print("大了")
      else:
            print("小了")
      temp = input("不对再猜:")
      guess = int(temp)

页: [1]
查看完整版本: 老哥们帮帮忙这要怎么该