编程题目:输入要处理的垃圾,空格分隔,判断并输出各个垃圾应该投放到哪个类别的垃圾桶中。其中垃圾有以下分类:
废纸、塑料、玻璃、金属、布料、硬纸板属于可回收垃圾。
蔬菜、瓜果、饭菜、花卉、罐头、骨头、油脂类属于厨余垃圾。
废电池、废灯管、废水银温度计、过期药品属于有害垃圾。
卫生用纸、塑料袋、土、一次性餐具、头发、玻璃碎片属于其他垃圾。
垃圾桶的类别和对应的垃圾桶颜色为:
可回收垃圾对应篮色的垃圾桶。
厨余垃圾对应绿色的垃圾桶。
有害垃圾对应红色的垃圾桶。
其他垃圾对应黑色的垃圾桶。
输入样例:
蔬菜 过期药品 废纸 瓜果 塑料 塑料袋 一次性餐具 废灯管 花卉
输出样例:
请将 蔬菜 瓜果 花卉 投入绿色垃圾桶
请将 过期药品 废灯管 投入红色垃圾桶
请将 废纸 塑料 投入蓝色垃圾桶
请将 塑料袋 一次性餐具 投入黑色垃圾桶
1、定义垃圾分类字典trash
#定义垃圾分类字典
trash={
'可回收垃圾':["废纸","塑料","玻璃","金属","布料","硬纸板"],
'厨余垃圾':["蔬菜","瓜果","饭菜","花卉","罐头","骨头","油脂类"],
'有害垃圾':["废电池","废灯管","废水银温度计","过期药品"],
'其他垃圾':["卫生用纸","塑料袋","土","一次性餐具","头发","玻璃碎片"]
}
2、定义垃圾桶类别和颜色字典
#定义垃圾桶类别和颜色字典
dustbin={'可回收垃圾':'蓝色',
'厨余垃圾':'绿色',
'有害垃圾':'红色',
'其他垃圾':'黑色'
}
3、获取用户输入的垃圾,分割为列表,循环判断每种垃圾是什么垃圾,然后放入到字段中
#定义处理结果分类字典
classfy={}
name=input("输入你要处理的垃圾,空格分隔:")
ls = name.split()
for name in ls:
for key in trash:
if name in trash[key]:
classfy[key]= classfy.get(key,[])+[name]
上面重点一句代码就是classfy[key]= classfy.get(key,[])+[name] 其中get方法传了两个参数,第一个参数是字典的key值,第二个值是key值对应的默认value值,因为一开始classfy字典中是没有数据的,如果直接写get(key)取出来的会是None,所以设置默认为一个空的列表。其次注意后面的[name] ,把name的值转为列表,因为只有列表和列表才能相加,相加表示把两个列表的元素放在一个列表中。
4、按照要求格式,输出每种垃圾,应该投放到哪个类别的垃圾桶中
for key in classfy:
print('请将',end=' ')
for name in classfy[key]:
print(name,end=' ')
print('投入{}垃圾桶'.format(dustbin[key]))