• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

垃圾分类小程序(1)——实现查找垃圾的类别

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
 1 with open('X:/XXX/XXX/XXX/data.txt',encoding = "utf-8-sig") as file:
 2     #上一行的参数!只使用'r'会出现报错:'gbk' codec can't decode byte 0xb7 in position 8: illegal multibyte sequence,输入encoding='utf-8'可解决
 3     #只使用"utf-8"输出时会出现文件第一行多出十六进制编码,用'-sig'解决。
 4     data_line = file.readline()
 5     data_line = data_line.replace('\t',',')
 6     data_line = data_line.strip('\n')
 7     keys = data_line.split(',')
 8  
 9  
10     values_wet = set()                      #set()是创建空集合的唯一方法
11     values_dry = set()
12     values_harm = set()
13     values_re = set()
14  
15      
16     while True:
17         data_line = file.readline()
18         if data_line != '':                 #解决最后一行问题,注意要加else: break,不然死循环
19             data_line = data_line.strip('\n')
20             data_line = data_line.replace('\t',',')
21             values = data_line.split(',')
22             values_wet.add(values[1])       #添加值到集合,".add()"方法
23             values_dry.add(values[2])
24             values_harm.add(values[3])
25             values_re.add(values[4])
26         else:
27             break
28  
29  
30 dic = {keys[1]:values_wet, keys[2]:values_dry, keys[3]:values_harm, keys[4]:values_re}
31  
32  
33 #定义函数判断values属于哪个key
34 def get_key(value,dict=dic):
35     return [k for k,v in dict.items() if value in v]    #列表解析式
36  
37  
38 #输出
39 value1 = input('Enter the thing:')
40 print(get_key(value1))
  • 效果是输入一种垃圾就可以得到它应该被放进哪种垃圾桶:
  • ======== RESTART: E:\xxxx\xxxx\xxxx\xxx.py ========
    Enter the thing:创口贴
    ['有害垃圾']
    >>> 
  • 思路是建立了一个大字典,字典下有四个key,每个key对应的value都是一个集合,集合里为各种垃圾的值。日后想要添加新的垃圾就只要往集合里.add()即可。
  • get_key函数的主体是从网上找的,最后针对自己的需求对函数内容稍作修改。笔者对列表解析式的使用实在生疏,需多加练习。
  • 最后附上data.txt
序号    湿垃圾    干垃圾    有害垃圾    可回收物
1    菜叶    旧浴缸    油漆桶    塑料瓶
2    橙皮    盆子    镍镉电池    食品罐头
3    葱    坏马桶    打火机    玻璃瓶
4    饼干    旧水槽    创口贴    易拉罐
5    番茄酱    贝壳    酒精    报纸
6    蛋壳    化妆刷    调色板    旧书包
7    西瓜皮    坛子    油漆    旧手提包
8    马铃薯    海绵    过期的胶囊药物    旧鞋子
9    鱼骨    花生壳    温度计    牛奶盒
10    甘蔗    菜板    过期药片    旧塑料篮子
11    玉米    砖块    荧光灯    旧玩偶
12    骨头(鸡鸭鹅)    卫生纸    蓄电池    玻璃壶
13    虾壳    篮球    医用棉签    旧铁锅
14    蛋糕    桃核    煤气罐    垃圾捅
15    面包    杯子    医用手套    旧镜子
16    草莓    陶瓷碗    杀虫剂    牙刷
17    西红柿    一次性筷子    水彩笔    塑料梳子
18    梨    瓦片    农药瓶    旧帽子
19    蟹壳    西梅核    医用纱布    旧夹子
20    香蕉皮    坏的花盆    口服液瓶    废锁头
21    辣椒    扫把    香水瓶    牙膏皮
22    巧克力    木质梳子    荧光棒    雨伞骨架
23    茄子    脏污衣服    过期化妆品    旧纸袋
24    豌豆皮    烟蒂    发胶    纸盒
25    苹果    渣土    注射器    旧玩具
26    树叶    湿垃圾袋    废弃灯泡    NULL

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
小程序之上传图片压缩发布时间:2022-07-18
下一篇:
我带着小程序和Springboot终于战胜了WebSocket!!!胜利( •̀ ω •́ )y ...发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap