将变量赋给列表项

2024-09-30 22:13:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在寻找一种方法,通过具有相同的属性将变量分配给特定的列表项。这是我用来启发事物的代码。你知道吗

    count = 0
    beer = 5/100
    maltbeer = 7/100
    tablewine = 12/100
    fortifiedwine = 17/100
    aperitif = 24/100
    spirits = 40/100
    percentageCalc = 0
    for i in drinks:
        count =+ 1
        percentageCalc = percentageCalc + drinks[count]

饮料被输入到饮料中,并且可以根据输入的内容而变化。你知道吗

即:饮料=[‘啤酒’、‘啤酒’、‘烈酒’、‘麦芽啤酒’]

饮料仅作为进一步观察的变量之一被接受。你知道吗


Tags: 方法代码列表属性count事物啤酒饮料
2条回答

您可以使用字典来保存每种饮料类型作为字典键。每种饮料的价值是它的百分比。你知道吗

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%。你知道吗

注意:上面的代码假定为python3。如果使用Python 2,您可以将以下内容添加到文件的顶部:

from __future__ import division

因此,例如7/100=0.7,而不是python2整数除法产生的0。你知道吗

对各种饮料使用字典:

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计算,并在末尾添加了计算结果,并实现了一个错误消息,以防饮料未知。你知道吗

相关问题 更多 >