我创建了一个使用随机数生成连续值的程序。我想要使用追加来创建这个列表,而不仅仅是设置值。(它只是在试验.append和.remove,看看如何使用它向连续列表添加值,真的)。有人能推荐我怎么做吗?以下是我到目前为止所拥有的:
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))发布于 2022-06-17 08:51:11
对于您的问题,我建议以下解决方案:
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。这对字典来说是完美的。在字典中,你可以很容易地按键“得到”你的数据。试试看!
发布于 2022-06-17 08:53:39
我认为一个很好的解决办法是使用字典:
di = {'strength': [], 'dexterity': [], 'constitution': [], 'intelligence': [], 'wisdom': [], 'charisma': []}然后使用抛出骰子的for循环:
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']))发布于 2022-06-17 08:58:24
几件事。首先,在for-循环中,您将骰子值赋值给一些随机值,然后将这些新值分配给其他变量,如a、b等。
尽管如此,您还会将数字附加到字符串i中,这是不可能的。您要做的是使用上面创建的列表,例如:
strength = []
# Your code for the random dice is fine :)
strength.append(a+b+c+d)一旦你的列表被填满,你就可以像这样想象它们了。请注意,stat列表现在是单元素列表:
print(f"Strength: {strength[0]}")它使用列表,正如您在问题中所打算的那样。尽管如此,对于这个问题,在本例中使用字典是一个很好的方法:)
https://stackoverflow.com/questions/72656596
复制相似问题