骰子游戏循环逻辑调整:如何让循环从指定问询处重启
修正你的骰子游戏循环逻辑
嗨,我瞅了下你的代码,发现两个小问题:一是循环每次都会回到最开头的初始问询,二是骰子数只在程序启动时生成了一次,玩家不管掷多少次都是同一个数,这可不太像真的骰子游戏哦😉
咱们调整一下代码结构,让第一次游戏先问初始问题,之后每次都从“要不要再来一次”这里重启,同时每次掷骰子都生成新的随机数:
import random # 第一次询问是否开始游戏 roll_dice = input("Would you like to roll the dice? ") if roll_dice.lower() != 'yes': print("Let us play later then.") else: play = True while play: # 每次掷骰子都生成新的随机数,模拟真实掷骰子 dice_number = random.randint(1, 6) print(dice_number) # 询问是否再来一次,统一转小写兼容不同输入格式 again = input("Do you want to roll the dice again? ").lower() if again == 'no': play = False print("It has been fun playing with you.")
逻辑说明:
- 先做一次初始问询,确认玩家是否要玩;如果玩家说不玩,直接结束流程
- 要是玩家愿意玩,进入
while循环,每次循环里:- 生成新的骰子随机数(这才是真的“掷”骰子呀)
- 打印骰子结果
- 询问是否再来一次:如果回答
no,就标记循环结束,打印告别语;如果回答yes,循环自动回到顶部,重新生成骰子数继续玩
这样就完全符合你的需求啦——第一次从初始问题开始,之后每次都从“要不要再来一次”重启游戏~
内容的提问来源于stack exchange,提问作者QBear
相关产品推荐
相关产品推荐

