You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

骰子游戏循环逻辑调整:如何让循环从指定问询处重启

修正你的骰子游戏循环逻辑

嗨,我瞅了下你的代码,发现两个小问题:一是循环每次都会回到最开头的初始问询,二是骰子数只在程序启动时生成了一次,玩家不管掷多少次都是同一个数,这可不太像真的骰子游戏哦😉

咱们调整一下代码结构,让第一次游戏先问初始问题,之后每次都从“要不要再来一次”这里重启,同时每次掷骰子都生成新的随机数:

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循环,每次循环里:
    1. 生成新的骰子随机数(这才是真的“掷”骰子呀)
    2. 打印骰子结果
    3. 询问是否再来一次:如果回答no,就标记循环结束,打印告别语;如果回答yes,循环自动回到顶部,重新生成骰子数继续玩

这样就完全符合你的需求啦——第一次从初始问题开始,之后每次都从“要不要再来一次”重启游戏~

内容的提问来源于stack exchange,提问作者QBear

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 07:56:57