我试图找出一种基于第二个字典输入操作一个字典的方法。我正在进行模拟自动售货机的练习。基于下面的代码,我的目的是根据从硬币字典中选择的一个选项更新coin_stock字典。例如,如果在menu_str中选择'n',这意味着我已经存了一个镍币。这意味着我的coin_stock ['nickles']应该从25更新到26.我试图概括代码,以便在menu_str中输入任何硬币选项时更新coin_stock。我对python很新。我尝试了不同的东西,但下面的代码尽可能接近。
HttpServletRequest requestObj = (HttpServletRequest)FacesContext.getCurrentInstance().getExternalContext().getRequest();
String url = requestObj.getRequestURL();
答案 0 :(得分:0)
您的if语句不起作用,例如对于镍,std_dev_of_sample_means
为sample_sizes2 = np.arange(1,1001,100)
mean_of_sample_means = []
std_dev_of_sample_means = []
for i in sample_sizes2:
probabilities=make_throws(200,i)
mean_of_sample_means.append(np.mean(probabilities))
std_dev_of_sample_means.append(np.std(probabilities))
std_error = std_dev_of_sample_means[i]/(i^.5)
print(std_dev_of_sample_means)
print(std_error)
,因此menu_str
为n
。只需检查coin[menu_str]
应该做你想做的事情
5
答案 1 :(得分:0)
我将把它作为一个机会来插入Python强大的集合类型。
查看Python的stdlib Counter()
库中的collections
类:
https://docs.python.org/2/library/collections.html#collections.Counter
将Counter对象想象为一个动力不足的词典,旨在保持统计。它非常适合在数据存储中保存不同硬币类型的用例:
coin_store = Counter({'nickles': 25, 'dimes': 25, 'quarters': 25, 'ones': 0, 'fives': 0})
print(coin_store) # Counter({'nickles': 25, 'dimes': 25, 'quarters': 25, 'ones': 0, 'fives': 0})
coin_store['nickles'] += 1
print(coin_store) # Counter({'nickles': 26, 'dimes': 25, 'quarters': 25, 'ones': 0, 'fives': 0})
关于找到"一种根据第二个字典的输入操作一个字典的方法"我们可以创建一个字典,其中包含一个数据存储中的所有键和值,这些数据存储使用另一个键和值来更新:
def update_store(coin_store1, coin_store2):
"""Updates the contents of a coin store with values from another store."""
for coin_type, coin_num in coin_store2.items():
coin_store1[coin_type] += coin_num
coin_store = Counter({'nickles': 6, 'dimes': 5, 'quarters': 10})
update_store(coin_store, Counter({'quarters': 5, 'ones': 3, 'fives': 10}))
print(coin_store) # Counter({'quarters': 15, 'fives': 10, 'nickles': 6, 'dimes': 5, 'ones': 3})
现在,您可以在代码中使用类似的内容根据用户输入进行更新。注意:无论您使用何种更新函数,都需要对无效的硬币类型和值进行错误处理。
可能值得花一些时间来理解词典支持的不同操作,可能从.get()
和.items()
开始,然后继续.update()
和{{1在这里看到它们:
https://docs.python.org/2/library/stdtypes.html#mapping-types-dict
这应该回答您的问题,并希望您有兴趣探索Python的stdlib中提供的其他类型的集合。祝你好运!