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

编写轮流掷骰子模拟程序后运行始终显示None,求技术帮助

解决骰子模拟程序中出现None的问题

嘿,我看到你的问题啦!程序每一行都显示None的原因很简单——你在input()函数里嵌套了print(),而print()本身的返回值是None,所以每次调用input(print("..."))的时候,先执行print输出你的提示语,然后input会把None当作提示内容显示出来,这就是你看到的那些None的来源~

修改后的代码

import random
# Function That Simulates Dice Roll
def dice_roll():
    while True:
        print()
        # 移除input里的嵌套print,直接把提示字符串作为input的参数
        question = input("Do you want to roll the dice ? (Y/N)")
        print()
        if question == 'Y' or question == 'y':
            # 同样移除这里的嵌套print
            name = input("Enter your name")
            print()
            print(name + ":")
            print()
            num = random.randint(1, 6)  # 小提醒:标准骰子是1-6,原代码的randint(1,7)会生成1到7的整数,按需调整哦
            print("The Dice rolls and The number is " + " " + str(num))
        elif question == 'N' or question == 'n':
            print("OK")
            print("Exiting The Program")
            print("Have a nice day :-)")
            break
# Above Function Gets Called
dice_roll()

关键修改说明

  • 核心问题修复:把input(print("提示语"))改为input("提示语"),input函数本身就支持直接传入提示字符串作为显示内容,不需要嵌套print
  • 额外优化:调整了骰子生成的数值范围为1-6,符合常规骰子的规则,如果你的需求确实是1-7,可以改回random.randint(1,7)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 06:51:40