While循环里面套while循环
本帖最后由 AslanWu 于 2021-4-5 16:32 编辑我想做一个猜数字的游戏,就类似于小甲鱼视频里那种,只不过我想做的是首先询问“猜猜我心里的数字”,在猜错之后会询问 “猜错了,是否需要再试一次”,如果回答是“是”,就返回第一个问题“猜猜我心里的数字”,如果回答“否”就结束程序,如果回答的是别的答案就一直重复问“猜错了,是否需要再试一次”。
整个问题我自己想的思路是while循环里面套一个while循环,但我想了半天还是没理清思路,能有大佬帮帮我吗,给个例子 import random
secret = random.randint(1,10)
try:
print('------------------我爱鱼C工作室------------------')
temp = input("不妨猜一下小甲鱼现在心里想的是哪个数字:")
guess = int(temp)
except (ValueError,EOFError,KeyboardInterrupt):
print('输入错误!')
guess = secret
while guess != secret:
temp = input("哎呀,猜错了,请重新输入吧:")
guess = int(temp)
if guess == secret:
print("我草,你是小甲鱼心里的蛔虫吗?!")
print("哼,猜中了也没有奖励!")
else:
if guess > secret:
print("哥,大了大了~~~")
else:
print("嘿,小了,小了~~~")
print("游戏结束,不玩啦^_^")
昨非 发表于 2021-4-5 16:01
你发给我的代码里第12行,他是直接让我‘‘哎呀,猜错了,重新输入”,我想要他问我“是否要再尝试一遍”怎么做呢 AslanWu 发表于 2021-4-5 16:08
你发给我的代码里第12行,他是直接让我‘‘哎呀,猜错了,重新输入”,我想要他问我“是否要再尝试一遍” ...
你的意思是加个是否继续猜的判断? import random
go_on = '玩'
while go_on == '玩':
num = random.randint(0,10)
guess = input('猜猜我心里的数字:')
while not guess.isdigit():
guess = input('必须输入纯数字,重新输入吧:')
guess = int(guess)
while guess != num:
switch = input('是否需要再试一次:')
if switch == '是':
guess = input('猜猜我心里的数字:')
while not guess.isdigit():
guess = input('必须输入纯数字,重新输入吧:')
guess = int(guess)
elif switch == '否':
break
else:
switch = input('是否需要再试一次:')
else:
print('猜对了,真厉害!')
go_on = input('还玩吗(玩,不玩了):')
while go_on != '玩' and go_on != '不玩了':
go_on = input('还玩吗(玩,不玩了):')
if go_on == '不玩了':
break
本帖最后由 qq1151985918 于 2021-4-5 16:26 编辑
num = 8
while True:
guess = int(input("猜猜我心里的数字:"))
if guess != num:
isAgain = input("猜错了,是否需要再试一次?")
while isAgain not in ["是","否"]:
isAgain = input("猜错了,是否需要再试一次?")
if isAgain == "是":
continue
else:
break
else:
print("我草,你是小甲鱼心里的蛔虫吗?!")
break
print("游戏结束,不玩啦^_^")
懂了懂了,感谢大佬们,我一直想着while了,没想到if也可以回到最初的答案,感谢
页:
[1]