将数学和变量应用于词典

2024-05-29 09:59:53 发布

您现在位置:Python中文网/ 问答频道 /正文

import random


def d(n):
    g = random.randint(1, n)
    return g


stat_list = {'vigor': (10 + 'fortitude'),
         'fortitude': [d(6), d(6), d(6), d(6)],
         'finesse': [d(6), d(6), d(6), d(6)],
         'insight': [d(6), d(6), d(6), d(6)],
         'guile': [d(6), d(6), d(6), d(6)]}

我正在尝试为我正在制作的一个文本冒险制作一个能力评分系统,它模仿了我如何为D&;翻滚分数;在现实生活中。除了我自学的关于python的少量知识外,我还有些生疏,所以我对自己正在做的事情没有太多的线索

这应该代表一个六面模具的四个独立辊。其中一卷要重卷,最低一卷要丢弃,其余三卷要重新加在一起。是应该计算并添加到player对象中,还是应该首先在player对象中进行操作

这些统计数据需要能够在升级发生时更改,并在以后被回收到不同的操作中,所以这是存储统计数据的正确结构吗?我不知道如何继续过去,我已经在这里,所以任何提示,提示或成品将不胜感激


Tags: 对象importreturndefrandomstatlist统计数据
1条回答
网友
1楼 · 发布于 2024-05-29 09:59:53

你问了很多问题。您应该将任务分解为单独的步骤,这是有经验的程序员处理每个问题的方式。以下是对您的一个问题的回答,一个函数可以滚动5面模具(面编号2-6)四次,并返回三个最佳滚动的总和:

def roll5():
    x = [random.randint(2, 6) for _ in range(4)]
    return sum(x) - min(x)

顺便说一句,你现在的代码不会运行。表达式10 + 'fortitude'试图将字符串添加到整数中,但这是无法完成的

相关问题 更多 >

    热门问题