如何在字典中存储随机整数?

时间:2014-11-27 04:48:25

标签: python python-3.x

这是我的第一个问题,我对编程很陌生。

我希望我的程序将随机值分配给三个统计数据,以便我可以稍后检索统计数据以进行计算。这是我到目前为止的代码:

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

为什么要将值重置为零?

4 个答案:

答案 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)