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

如何在Python中为Daggerheart骰子程序的变量设置最大值?

给Hope和Fear变量设置最大值6的解决方案

要限制hope和fear变量不超过6,最简单的方式是在每次增加变量值时,用Python内置的min()函数截断数值——它会返回传入参数里的最小值,刚好可以把数值卡在上限6上。

修改后的代码片段

import random

# 初始化资源变量(示例初始值为0)
hope = 0
fear = 0

playerMove = 'r'  # 示例输入

# Roll the dice
if playerMove == 'r':
    hopeDice = random.randint(1, 12)  # randint本身返回整数,无需额外转int
    fearDice = random.randint(1, 12)
    roll = hopeDice + fearDice
    print(f'You rolled {roll} with ...')  # f-string比format更直观简洁
    if hopeDice > fearDice:
        print('... hope')
        hope = min(hope + 1, 6)  # 增加后不超过6
    elif fearDice > hopeDice:
        print('... fear')
        fear = min(fear + 1, 6)  # 同样限制fear上限
    else:
        print('... tie, no resource changes')  # 补充平局的处理逻辑

# 打印当前资源值验证
print(f"Current Hope: {hope}, Current Fear: {fear}")

关键逻辑说明

  • min(hope + 1, 6):当hope + 1小于等于6时,直接取hope + 1;如果超过6,就取6,完美实现上限限制。
  • fear变量的处理方式完全一致。
  • 额外优化了代码里的冗余int()转换(randint返回的已经是整数),并用f-string简化了打印语句。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 16:45:06