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()

你可能感兴趣的:(python,分类,开发语言)