我在弄清楚如何附加我的字典值时会遇到一些麻烦,这样每次打印它们时,它们的偏差都会略有不同。
示例代码:
shop = {
'Milk': 1.24,
'Coffee': 8.68,
'Bread': 1.99,
'Apples': 0.96,
'Cakes': 12.96,
}
使商店的价值改变了±10%:
random_keys = random.choices(population=list(stock.keys()), k=random.randrange(2, 5))
print({k: stock[k] for k in random_keys})
最终结果:
{'Milk': 1.35, 'Cakes' : 12.82}
答案 0 :(得分:1)
import random
for key in shop:
print ( key, '%.2f' %(shop[key]*random.uniform(0.9,1.1)))
如果您需要10%的百分比偏差 - >你必须在0.9和1.1之间相乘
答案 1 :(得分:1)
每次要使用新的随机值打印字典时,都可以调用此函数:
import random
from typing import Dict
def print_with_deviations(my_dict: Dict[str, float],
*,
deviation: float = 0.1) -> None:
print({key: f'{value * random.uniform(1 - deviation, 1 + deviation):.2f}'
for key, value in my_dict.items()})
就像这样:print_with_deviations(shop)
或者,如果你想使用不是10%而是另一个偏差:
print_with_deviations(shop, deviation=0.2)