这是我的第一个问题,我对编程很陌生。
我希望我的程序将随机值分配给三个统计数据,以便我可以稍后检索统计数据以进行计算。这是我到目前为止的代码:
import random
stats = {'strength' : 0, 'dexterity' : 0, 'intelligence' : 0}
for value in stats:
value = random.randint(1,18)
print (value)
for key, value in stats.items():
print (key, value)
输出如下:
5
1
9
intelligence 0
strength 0
dexterity 0
为什么要将值重置为零?
答案 0 :(得分:0)
为什么要将值重置为零?
它没有。您从未在字典中设置值。
试试这个:
for value in stats:
stats[value] = random.randint(1,18)
print (value, stats[value])
答案 1 :(得分:0)
您从未更改过stats中存储的值。
答案 2 :(得分:0)
在您的第一个for循环中,value
是数据的副本,而不是对它的引用。
import random
stats = {'strength' : 0, 'dexterity' : 0, 'intelligence' : 0}
for key, value in stats.items():
value = random.randint(1,18)
stats[key] = value # assign the value to dictionary
print (value)
for key, value in stats.items():
print (key, value)
你的代码的另一个问题是你在同一个循环中迭代键而不是值(正如你的代码似乎表明的那样)
for value in stats: # this is the key ['strength', 'dexterity', 'intelligence']
value = random.randint(1,18)
print (value)
答案 3 :(得分:0)
您没有将随机值分配给stats
字典,只是打印出来。
我认为这就是你想要的
import random
stats = {'strength' : 0, 'dexterity' : 0, 'intelligence' : 0}
for stat in stats:
value = random.randint(1,18)
stats[stat] = value
print stats[stat]
for key, value in stats.items():
print (key, value)