我正在尝试将15个不同VA1值的值通过15个不同的VA3值除以循环dt的迭代。
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值(在VA3/DT已更改后(作为使用Draw函数在图上移动的固定点,但无法弄清楚。例如,第一个VA1值将带有第一个VA2值。
我不确定这是否是您要做的。但这可能会帮助您解决问题。
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。