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

如何为Python 6面骰子模拟的点数分配对应数值?

问题解决:骰子投掷点数对应数值输出

你的代码有几个关键问题导致无法得到预期结果:

  • dice = print(random.randint(1,6)) 逻辑错误:print()函数的返回值是None,所以dice变量实际是None,根本不会等于任何数字
  • 缩进错误:if语句前的多余缩进会触发语法报错
  • 类型不匹配:random.randint(1,6)生成的是整数,你却和字符串(比如'1')做比较,永远不会相等
  • 数值对应关系搞反了:题目要求1、2、3对应5/4,4、5、6对应10/2,你写反了对应逻辑

以下是修正后的代码:

import random    
print("Let's roll the dice")
# 先获取随机点数并赋值
dice = random.randint(1,6)
# 打印投掷的点数
print(f"投掷点数:{dice}")
# 根据点数判断对应数值
if dice in (1,2,3):
    print("对应数值:5/4")
else:
    print("对应数值:10/2")

也可以用更简洁的三目运算符实现:

import random    
print("Let's roll the dice")
dice = random.randint(1,6)
print(f"投掷点数:{dice}")
print("对应数值:5/4" if dice <=3 else "对应数值:10/2")

这样就能实现你要的效果:投掷1-3点时输出5/4,4-6点时输出10/2。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 23:57:28