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-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("游戏结束了") #游戏结束声明
这是你的原代码 错误我给你指出了 大概就是 循环没套好用好
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("游戏结束了")
Judie 发表于 2020-2-10 01:16
这是你的原代码 错误我给你指出了 大概就是 循环没套好用好
谢谢解答{:5_109:} 本帖最后由 Judie 于 2020-2-10 01:20 编辑
你若幻化成风 发表于 2020-2-10 01:17
谢谢解答
不客气呀
满意的话还请设置一下最佳答案 如还有不懂 还可继续更贴提问哦
{:10_256:}
页:
[1]