你若幻化成风 发表于 2020-2-10 00:20:02

python猜数字游戏在循环结束时有点小问题

萌新尝试写的一段代码,但是在规定的循环次数内输入正确结果后程序不会结束,而是继续询问“猜一下1-10之间的数字吧: ”直到循环结束。我觉得应该是break位置放置的问题,问一下大佬们这个程序该如何修改{:5_92:}
代码如下:
1 print("+++++++++++++++++猜数字小游戏++++++++++++++++++")
2 import random
3 secret=random.randint(1,10)
4 i=3
5 while i>0:
6    temp = input("猜一下1-10之间的数字吧:")
7    guess = int(temp)
8    if guess == secret:
9      print("猜对了,你真棒!")
10      break
11   while guess!=secret:
12      if guess>secret:
13            print("大了")
14      else:
15            print("小了")
16       temp = input("再试一次:")
17       guess = int(temp)
18       if guess == secret:
19         print("猜对了,你真棒!")
20         break
21      i=i-1
22      if i==0:
23         print("你没有机会了")
24         break
25 print("游戏结束了")

Judie 发表于 2020-2-10 01:05:55

本帖最后由 Judie 于 2020-2-9 12:08 编辑

print("+++++++++++++++++猜数字小游戏++++++++++++++++++")
import random
secret = random.randint(1,10)
i = 3

while i>0:
    temp = input("猜一下1-10之间的数字吧:")
    guess = int(temp)
    if guess == secret: #猜对了
      print("猜对了,你真棒!")
      break #跳出while i>循环 去到if那里
    elif guess > secret: #没猜对,猜大了
      i -= 1 #次数-1
      print("大了")
      continue #判断 i是否大于0后 继续while循环
    else: #没猜对,猜小了
      i -= 1
      print("小了")
      continue

if i== 0: #判断是否还有机会(即是答对了,还是没有机会) 没有机会了则打印以下
    print("你没有机会了")

print("游戏结束了") #游戏结束声明


Judie 发表于 2020-2-10 01:16:03

这是你的原代码 错误我给你指出了 大概就是 循环没套好用好
print("+++++++++++++++++猜数字小游戏++++++++++++++++++")
import random
secret=random.randint(1,10)
i=3
while i>0:
   temp = input("猜一下1-10之间的数字吧:")
   guess = int(temp)
   if guess == secret:
       print("猜对了,你真棒!")
       break
   while guess!=secret:
       if guess>secret:
         print("大了")
       else:
         print("小了")
       temp = input("再试一次:") #这部分不应该放在这里 重复了
       guess = int(temp)
       if guess == secret:
         print("猜对了,你真棒!")
         break #这个break跳出的是while guess!=secret这个循环 去到while i>0循环 i也没有减
      i=i-1
      if i==0:
         print("你没有机会了")
         break #这个也是 跳出的是while guess!=secret这个循环 去到while i>0循环
print("游戏结束了")   

你若幻化成风 发表于 2020-2-10 14:17:38

Judie 发表于 2020-2-10 01:16
这是你的原代码 错误我给你指出了 大概就是 循环没套好用好

谢谢解答{:5_109:}

Judie 发表于 2020-2-10 14:19:01

本帖最后由 Judie 于 2020-2-10 01:20 编辑

你若幻化成风 发表于 2020-2-10 01:17
谢谢解答

不客气呀
满意的话还请设置一下最佳答案 如还有不懂 还可继续更贴提问哦
{:10_256:}
页: [1]
查看完整版本: python猜数字游戏在循环结束时有点小问题