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

如何实现对随机打乱的1-6数值按对应数字求和并输出?

代码完善方案

原代码仅能打乱不重复的1-6序列,无法生成含重复数字的目标序列,以下是修改后的完整实现:

完整代码

from random import choices

def make_roll() -> tuple:
    # 生成含1-6的随机序列,允许重复,长度固定为6
    roll_number = choices(range(1, 7), k=6)
    print(f'Rolling the dice...{roll_number}')
    
    # 计算1至6各自的出现数值总和
    totals = []
    for num in range(1, 7):
        count = roll_number.count(num)
        total = num * count
        totals.append(total)
        print(f"数字{num}的总和: {total}")
    
    return tuple(totals)

# 调用示例
make_roll()

关键修改说明

  • 替换shuffle为choices:shuffle只能打乱现有不重复元素,choices支持从指定范围随机选取并允许重复,满足示例中出现重复数字的需求
  • 总和计算逻辑:遍历1到6,统计每个数字在序列中的出现次数,用数字×次数得到总和
  • 符合返回类型要求:最终返回1至6总和组成的元组

示例运行输出

Rolling the dice...[3,2,2,4,5,6]
数字1的总和: 0
数字2的总和: 4
数字3的总和: 3
数字4的总和: 4
数字5的总和: 5
数字6的总和: 6

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 20:20:53