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

Python骰子程序如何输出完整计算式及结果而非仅显示结果?

解决掷骰子程序输出计算式的方法

核心思路

要输出3+3+5=11这类完整计算式,核心是先保存每一次掷骰子的单独结果,而非直接累加求和。之后用保存的结果拼接成带+的字符串,再关联总和即可。

具体实现方案

Python示例

import random

# 获取用户输入
dice_num = int(input("请输入骰子数量(最多6个):"))
face_num = int(input("请输入骰子面数:"))

# 校验骰子数量上限
if dice_num > 6:
    print("最多只能输入6个骰子")
    exit()

# 存储单次掷骰结果并计算总和
roll_list = []
total = 0
for _ in range(dice_num):
    roll = random.randint(1, face_num)
    roll_list.append(str(roll))
    total += roll

# 拼接并输出计算式
equation = "+".join(roll_list) + f"={total}"
print(equation)

Java示例

import java.util.ArrayList;
import java.util.Random;
import java.util.Scanner;

public class DiceRoller {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        Random random = new Random();

        // 获取用户输入
        System.out.print("请输入骰子数量(最多6个):");
        int diceNum = scanner.nextInt();
        System.out.print("请输入骰子面数:");
        int faceNum = scanner.nextInt();

        // 校验骰子数量上限
        if (diceNum > 6) {
            System.out.println("最多只能输入6个骰子");
            return;
        }

        // 存储单次掷骰结果并计算总和
        ArrayList<String> rollList = new ArrayList<>();
        int total = 0;
        for (int i = 0; i < diceNum; i++) {
            int roll = random.nextInt(faceNum) + 1;
            rollList.add(String.valueOf(roll));
            total += roll;
        }

        // 拼接并输出计算式
        String equation = String.join("+", rollList) + "=" + total;
        System.out.println(equation);
    }
}

关键注意点

  • 必须添加骰子数量校验,确保输入不超过6个的限制
  • 把单次掷骰结果转成字符串存储,方便后续用join方法快速拼接成带+的格式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 21:48:18