我正在寻找一种方法,通过使用相同的方法将变量分配给特定的列表项。这是我启发事物的代码。
{{1}}
饮料被输入饮料并且可能会根据输入的内容而有所不同。
即:饮料= ['啤酒','啤酒','烈酒'' maltbeer']
饮料是附加输入,只接受作为进一步看到的变量之一。
答案 0 :(得分:1)
使用字典表示各种饮料:
abv = {"beer": 5
"maltbeer": 7,
"tablewine": 12,
"fortifiedwine": 17,
"aperitif": 24,
"spirits": 40}
percentage = 0
for drink in drinks:
if drink in abv:
percentage += percentageCalc + abv[drink]
else:
print("don't know about %s" % drink)
percentage /= 100.0
我还从单个项目中删除了/100
计算,并在最后添加,并在饮料未知的情况下实施了错误消息。
答案 1 :(得分:0)
您可以使用字典将每种饮品类型保存为字典键。每种饮料的价值是它的百分比。
drink_strength = {
'beer': 5/100,
'maltbeer': 7/100,
'tablewine': 12/100,
'fortifiedwine': 17/100,
'aperitif': 24/100,
'spirits': 40/100,
}
drinks = ['beer', 'beer', 'spirits', 'maltbeer', 'lemonade']
percentage_calc = sum(drink_strength.get(drink, 0) for drink in drinks)
print(percentage_calc)
<强>输出强>
0.5700000000000001
通过连续添加每种饮料的百分比来计算百分比,或者,如果饮料未知,则假设为0%。
N.B。上面的代码假设使用Python 3.如果使用Python 2,您可以添加到文件的顶部:
from __future__ import division
这样,例如7/100
= 0.7而不是0,因为Python 2整数除法会产生。