各自选定数据类型创建和保存各种咖啡的名称、所用原材料,
以及每种咖啡的原材料配比,以上数据保存在程序中无须运行时输入,
运行时界面显示如下8种咖啡的序号和名称。
1:白咖啡 2:美式
3:拿铁 4:布列夫
5:卡布奇诺 6:康巴纳
7:摩卡 8:玛奇朵
提示用户输入序号或者中文名称后,随即屏幕打印出对应的材料配比信息。
存储的配比数据按照图例中的1、0、0.5、1.5来保存,而最终打印的配比按照百分比显示,且未用到的材料不显示。
coffee=[("白咖啡",{"浓缩咖啡":1,"热牛奶":1.5}),("美式",{"浓缩咖啡":1,"水":2}),("拿铁",{"浓缩咖啡":1,"热牛奶":1.5,"奶泡":0.5}),("布列夫",{"浓缩咖啡":1,"热牛奶":1.5,"奶泡":0.75,"鲜奶油":0.5}),("卡布奇诺",{"热牛奶":0.5,"浓缩牛奶":1,"奶泡":1.5}),("康宝蓝",{"浓缩咖啡":1,"鲜奶油":0.5}),("摩卡",{"浓缩咖啡":1,"热牛奶":1,"巧克力酱":0.5,"鲜奶油":0.5}),("玛奇朵",{"浓缩咖啡":1,"奶泡":0.5})]
i=0
while 1:
if i>=8:
break
print(str(i+1)+":"+coffee[i][0]+"\t"+str(i+2)+":"+coffee[i+1][0]+"\t")
i+=2
co={}
num=input("请输入对应咖啡的序号:")
co=coffee[int(num)-1][1]
zz=0
print(coffee[int(num)-1][0]+"中含量占比为:")
for value in co.values():
zz+=value
for key,value in co.items():
print(f'{key} 所占的百分比约为 {int((int((value/zz)*1000)+5)/10)}%')
如果你对切片还不太理解那你可以看这里看看我之前写的切片: python切片操作(深度解析).
大家对于不同的题目要选择适合这个题自己的数据储存方式,这样可以更好的帮助你解决这个题目
老师布置的作业题,有很多地方都可以进行优化,欢迎大佬前来指点!!!
|