我试图通过15个不同的va3值除以循环dt的迭代来增加15个不同va1值的值。
import random as r
n = 15
new_dict = {k: {'va1': r.randint(0, 50), 'va2': r.randint(0, 15), 'va3': r.randint(0, 10)} for k in range(n)}
for dt in range(100):
for va1, va3 in new_dict.items():
va1 = va1 + va3 / dt
print(new_dict)
我收到错误:unsupported operand type(s) for /: 'dict' and 'int'
,我认为这意味着您无法通过整数对字典值进行操作,但肯定会有解决方法吗?改为使用列表?
最后,我想绘制相应的va1,va2值(在va1被va3 / dt改变之后)作为使用绘图功能在图形上移动的固定点,但无法解决这个问题。例如,第一个va1值将与第一个va2值一起使用。
答案 0 :(得分:0)
我不确定这是不是你想要做的。但这可能会帮助您解决问题。
import random as r
n=15
new_dict = {'va1': [r.randint(0,50) for k in range(n)], 'va2': [r.randint(0,15) for k in range(n)], 'va3': [r.randint(0,10) for k in range(n)]}
print(new_dict['va1'])
for dt in range(1,101):
for i in range(n):
new_dict['va1'][i] = new_dict['va1'][i] + new_dict['va3'][i]/dt
new_dict['va2'][i] = new_dict['va2'][i] + new_dict['va3'][i]/dt
print(new_dict)
我为每个字典键分别创建了每个列表,因为只有三个。我之所以这样做,主要是因为您正在改变每个列表与密钥产生的关系。
同时更改dt的范围,因为你不能除以0。