python实现垃圾分类查询

1.创建存放垃圾类别的字典,以垃圾类别作为键,以具体垃圾名称组成的列表作为值;

2.设计循环,可以输入垃圾名称,如果找到垃圾,则输出垃圾类别;

3.如果没有找到垃圾,则找到垃圾类别,让用户自行判断,并退出循环;

4.用户输入结束可以退出循环。

创新点:用于分类的字典可以写入读取文件,并且会针对字典中不存在的类别进行“学习”,会保存在文件中(切记一定要选择“退出”才会调用save函数保存文件),下次使用时会自动读取文件。


find_rubbish={}       #存储垃圾类型
flag=0                #判断用户写入垃圾是否找到

def getinfo():    #读取文件内容
    text = open("rubbish.csv",'r')
    for i in text:
        i=i.strip()
        name,names=i.split(',')
        find_rubbish[name]=names.split(" ")
    text.close()

def save(find_rubbish):         #写入文件保存
    keys=list(find_rubbish.keys())
    values=list(find_rubbish.values())
    with open("rubbish.csv",'w') as fp:
        for i in range(4):
            fp.write(str(keys[i]))
            fp.write(",")
            for j in values[i]:
                fp.write(j)
                fp.write(" ")
            fp.write("\n")
    fp.close()

def show_menu():
    global flag
    getinfo()
    while(1):
        print("1.查找垃圾")
        print("2.退出")
        index=input("请选择标号:")
        if index == '1':
            name=input("请输入你要查找的垃圾名称:")
            for i in find_rubbish:
                for j in find_rubbish[i]:
                    if name==j:
                        print("该垃圾属于:",i)
                        flag=1
            if flag==0:
                classification=input("未找到垃圾类别,请输入垃圾类别标号:1.可回收垃圾 2.干垃圾 3.湿垃圾 4.有害垃圾")
                if classification=='1':
                    find_rubbish['可回收垃圾'].append(name)
                    print("学习成功!")
                if classification == '2':
                    find_rubbish['干垃圾'].append(name)
                    print("学习成功!")
                if classification == '3':
                    find_rubbish['湿垃圾'].append(name)
                    print("学习成功!")
                if classification == '4':
                    find_rubbish['有害垃圾'].append(name)
                    print("学习成功!")
            flag=0

        if index == '2':
            save(find_rubbish)
            print("finish!!!")
            break

show_menu()

  • 4
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值