首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对Python中的列表中包含的值使用追加

对Python中的列表中包含的值使用追加
EN

Stack Overflow用户
提问于 2022-06-17 08:42:25
回答 6查看 48关注 0票数 1

我创建了一个使用随机数生成连续值的程序。我想要使用追加来创建这个列表,而不仅仅是设置值。(它只是在试验.append和.remove,看看如何使用它向连续列表添加值,真的)。有人能推荐我怎么做吗?以下是我到目前为止所拥有的:

代码语言:javascript
复制
import random
stats = ["strength","dexterity","constitution","intelligence","wisdom",
         "charisma"]
strength = []
dexterity = []
constitution = []
intelligence = []
wisdom = []
charisma = []

random.seed(198421)

for i in stats:

    die_one = random.randint(1,6)
    die_two = random.randint(1,6)
    die_three = random.randint(1,6)
    die_four = random.randint(1,6)

    a = die_one
    b = die_two
    c = die_three
    d = die_four

    i.append(a+b+c+d)

print("Strength: "+ str(strength))
print("Dexterity: " + str(dexterity))
print("Constitution: "+ str(constitution))
print("Intelligence: "+ str(intelligence))
print("Wisdom: " + str(wisdom))
print("Charisma: " + str(charisma))
EN

回答 6

Stack Overflow用户

发布于 2022-06-17 08:51:11

对于您的问题,我建议以下解决方案:

代码语言:javascript
复制
import random
stats = ["strength","dexterity","constitution","intelligence","wisdom",
        "charisma"]
your_stats = {}

random.seed(198421)

for stat in stats:

    die_one = random.randint(1,6)
    die_two = random.randint(1,6)
    die_three = random.randint(1,6)
    die_four = random.randint(1,6)

    your_stats[stat] = die_one + die_two + die_three + die_four

for key, value in your_stats.items():
    print(f"Your {key} is {value} !")

实际上,您要做的是将一个值赋值给一个键,或者一个stat。这对字典来说是完美的。在字典中,你可以很容易地按键“得到”你的数据。试试看!

票数 0
EN

Stack Overflow用户

发布于 2022-06-17 08:53:39

我认为一个很好的解决办法是使用字典:

代码语言:javascript
复制
di = {'strength': [], 'dexterity': [], 'constitution': [], 'intelligence': [], 'wisdom': [], 'charisma': []}

然后使用抛出骰子的for循环:

代码语言:javascript
复制
random.seed(198421)

for i in stats:

    die_one = random.randint(1,6)
    die_two = random.randint(1,6)
    die_three = random.randint(1,6)
    die_four = random.randint(1,6)

    a = die_one
    b = die_two
    c = die_three
    d = die_four

    di[i].append(a+b+c+d)

print("Strength: "+ str(di['strength']))
print("Dexterity: " + str(di['dexterity']))
print("Constitution: "+ str(di['constitution']))
print("Intelligence: "+ str(di['intelligence']))
print("Wisdom: " + str(di['wisdom']))
print("Charisma: " + str(di['charisma']))
票数 0
EN

Stack Overflow用户

发布于 2022-06-17 08:58:24

几件事。首先,在for-循环中,您将骰子值赋值给一些随机值,然后将这些新值分配给其他变量,如ab等。

尽管如此,您还会将数字附加到字符串i中,这是不可能的。您要做的是使用上面创建的列表,例如:

代码语言:javascript
复制
strength = []

# Your code for the random dice is fine :)

strength.append(a+b+c+d)

一旦你的列表被填满,你就可以像这样想象它们了。请注意,stat列表现在是单元素列表:

代码语言:javascript
复制
print(f"Strength: {strength[0]}")

它使用列表,正如您在问题中所打算的那样。尽管如此,对于这个问题,在本例中使用字典是一个很好的方法:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72656596

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档