Python练习题——coffee

简介: 各自选定数据类型创建和保存各种咖啡的名称、所用原材料,以及每种咖啡的原材料配比,以上数据保存在程序中无须运行时输入,运行时界面显示如下8种咖啡的序号和名称。

各自选定数据类型创建和保存各种咖啡的名称、所用原材料,


以及每种咖啡的原材料配比,以上数据保存在程序中无须运行时输入,


运行时界面显示如下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={}#来储存配料
#python默认输入的类型为字符串
num=input("请输入对应咖啡的序号:")
co=coffee[int(num)-1][1]
zz=0#配料总量
print(coffee[int(num)-1][0]+"中含量占比为:")
#遍历字典的key与value
for value in co.values():
    zz+=value
for key,value in co.items():
#这里有个手动的四舍五入操作,保留整数
    print(f'{key} 所占的百分比约为 {int((int((value/zz)*1000)+5)/10)}%')
如果你对切片还不太理解那你可以看这里看看我之前写的切片:
python切片操作(深度解析).


大家对于不同的题目要选择适合这个题自己的数据储存方式,这样可以更好的帮助你解决这个题目


老师布置的作业题,有很多地方都可以进行优化,欢迎大佬前来指点!!!


相关文章
|
8月前
|
存储 Python
Python经典练习题(三)
Python经典练习题(三)
|
4月前
|
算法 Python
python文件读取操作练习题(统计单词)
python文件读取操作练习题(统计单词)
67 0
|
8月前
|
Python
Python经典练习题(二)
Python经典练习题(二)
|
8月前
|
Python
Python经典练习题(一)
Python经典练习题(一)
|
9月前
python--多态和两个练习题
python--多态和两个练习题
|
11月前
|
Python
Python|PTA练习题
Python|PTA练习题
95 0
|
11月前
|
数据安全/隐私保护 Python
Python——字符串以及分支语句练习题
Python——字符串以及分支语句练习题
|
11月前
|
知识图谱 Python
Python——变量以及基础数据类型练习题
Python——变量以及基础数据类型练习题
|
机器学习/深度学习 Python
Python 数学练习题(二)
Python 数学练习题
361 1
|
Python
Python 数学练习题(一)
Python 数学练习题
241 0