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

Python3.10如何解决掷两个骰子问题,自定义函数代码运行异常怎么修复

Python掷骰子功能修复方案

原代码存在的问题

  • 未导入random模块,调用随机方法会直接报错
  • random.randint(1,7)逻辑错误,骰子点数范围是1~6,应修改为random.randint(1,6)
  • 自定义dice函数的输入参数无意义,函数内部会直接覆盖传入的参数值
  • 调用dice函数后未接收返回的骰子点数,直接拿函数对象和整数做逻辑判断,条件完全不成立
  • 累计变量sum未初始化就直接运算,会触发未定义报错
  • 逻辑判断条件完全错误:if dice == dicee2是将函数对象和整数对比,永远不成立;elif dice != dice是恒假条件,永远不会触发
  • 循环控制逻辑混乱,没有明确的终止条件对应逻辑

修复后代码

实现功能:每次投掷两个骰子,两次点数相同时累加点数继续投掷,直到两次点数不同时输出累计总点数

import random

def dice():
    dice1 = random.randint(1,6)
    dice2 = random.randint(1,6)
    return dice1, dice2

total = 0
same_count = 0

while True:
    d1, d2 = dice()
    print(f"本次掷出点数:{d1}, {d2}")
    if d1 == d2:
        total += d1 + d2
        same_count += 1
        print(f"当前累计点数:{total}")
    else:
        total += d1 + d2
        print(f"Conclusion:{total},累计掷出相同点数次数:{same_count}")
        break

如果需要调整统计逻辑,直接修改上述代码的判断条件即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 15:36:02