使用Python实现垃圾分类系统

liftword11小时前技术文章2

1 问题

如何使用python实现垃圾分类,这里需要创建多个系统。


2 方法

在python中实现垃圾分类,需要创建多个系统,整体设计思路垃圾分类学习器包含了学习模块和测试模块两部分,用户可以根据需求对垃圾类别进行学习,在经过一定的学习后,通过测试模块对自己的学习成果进行检验,检验自己能否将垃圾进行正确分类。

代码清单 1

print('系统正在运行...')
list0=[] #用来装无法鉴别的垃圾(特殊垃圾桶)
list1=['可回收垃圾','废纸','硬质塑料','玻璃','金属','织物','杯盖等']
list2=["有害垃圾",'废灯管','废油漆','杀虫剂','废水银温度计等']。
list3=["厨余垃圾",'丢弃不用的菜叶','剩菜','剩饭','果皮','蛋壳','茶渣']
list4=['其他垃圾','砖瓦陶瓷','渣土','烟头','卫生间废纸','纸巾等']
list=[list1,list2,list3,list4]
name_list=[] #账号列表
username=[] #用户名列表,用于判断用户名是否重复def register(): #用户注册系统
user = ""
def register(): #用户注册系统
print('------欢迎来到注册页面------')
name=input('请输入你的用户名')
password=input('请输入你的密码')
password1=input('请确认你的密码')
user = name+" "+password
if name in username:#判断用户名是否已经存在
print("该用户名已经存在,请重新注册!")
register()
else:
if password==password1:
name_list.append(user)#将用户名和密码存入空列表中
username.append(name)#将用户名写入专属的用户名空列表中,用来做判断
print("注册成功,已经自动为你跳转到登陆界面!")
else:
print("两次密码输入不一致,请检查后重试!")
register()
def signin(): #用户登录系统
print("==========欢迎来到登录页面==========")
name = input("请输入用户名:")
password = input("请输入密码:")
user = name+" "+password
if user in name_list:#判断用户名和密码是否正确
print(f'登录成功,欢迎“{name}”')
else:
num=input('=========================================================================\n登陆失败!\n1.注册\n2.再次尝试登陆\n3.退出系统\n\n请输入对应的数字选择相应的功能: ')
if num=='1':
register()
elif num=='2':
signin()
elif num=='3':
print('退出成功')
exit()
def back():#密码找回系统
print('--------欢迎来到找回系统--------')
print('--------开始菜单--------')
print(' 1.找回密码\n 2.不需要找回密码\n 3.重新注册新账号')
number=input('请输入你的选项:')
if int(number)==1:
name=input('请输入用户名')
phonenumber=input('请输入你的手机号')
password=input('请输入你的新密码')
password0=input('请确认你的新密码')
if password==password0:
print('恭喜!!!密码已经找回')
elif int(number)==2:
print('您已退出系统')
elif int(number)==3:
register()
def classify(): #垃圾分类查询系统
print('******欢迎来到垃圾分类查询系统******')
print(' 1.查询可回收垃圾:\n 2.查询有害垃圾:\n 3.查询厨余垃圾:\n 4.查询其他垃圾:\n 5.退出该系统')
while True:
number=input('请输入一个数字:')
if int(number)==1:
print(list1)
elif int(number)==2:
print(list2)
elif int(number)==3:
print(list3)
elif int(number)==4:
print(list4)
else :
print('您已退出该系统')
break
def Throw_garbage():#鉴别垃圾系统
print('扔垃圾系统正在运行...')
print(' 1.扔垃圾\n 2.退出该系统')
number=input('请输入一个选项:')
if int(number)==1:
print('蓝色垃圾桶:',Blue_trash_can)
print('红色垃圾桶:',Red_trash_can)
print('绿色垃圾桶:',Green_trash_can)
print('黑色垃圾桶:',Black_trash_can)
print('输入None退出系统')
while (True):
key = input("请输入垃圾的名称: ")#没有垃圾请输入None
if key in list1:
print("鉴别成功! 这个是%s,请将它放入可回收垃圾对应的垃圾桶"%(list1[0]))
elif key in list2:
print("鉴别成功! 这个是%s,请将它放入有害垃圾对应的垃圾桶" % (list2[0]))
elif key in list3:
print("鉴别成功! 这个是%s,请将它放入厨余垃圾对应的垃圾桶" % (list3[0]))
elif key in list4:
print("鉴别成功!这个是%s,请将它放入其他垃圾对应的垃圾桶" % (list4[0]))
elif key=='None':
print('你已退出该系统')
break
else:
print('抱歉,无法鉴别该垃圾! 请将它放入特殊垃圾桶')
list0.append(key)
if int(len(list0))>=10:
import turtle as t
t.color('red'); t.pensize(2)
t.seth(90)
t.begin_fill()
t.circle(20,180)
t.goto(-20,-100)
t.goto(0,0)
t.end_fill()
t.pu()
t.goto(-20,-120)
t.begin_fill()
t.seth(180)
t.pd()
t.circle(10)
t.end_fill()
t.ht()
print('该垃圾桶已装满,请将垃圾扔进其它的特别垃圾桶')
break
elif int(number)==2:
print('您已退出该系统!')
classify()
Throw_garbage()
register()
signin()
Throw_garbage()
back()

3 结语

对于如何使用Python如何实现垃圾分类,经过实验是可以实行的,但该系统并不是十分完善,还有待改进的地方,希望在后面的学习中能够利用数据与结构的知识对其进行优化。

相关文章

Python垃圾回收机制详解

Python 的垃圾回收机制结合了引用计数和分代回收,确保内存高效管理并处理循环引用问题。以下是其核心机制的分步解释:1. 引用计数(Reference Counting)原理:O 每个对象维护一个引...

python的垃圾回收机制:内存管理的幕后英雄

一、什么是垃圾回收机制?在Python程序运行过程中,会不断创建各种对象,如列表、字典、类实例等。当这些对象不再被使用时,就成了 “垃圾”,占用的内存空间需要被释放,以便后续程序使用。垃圾回收机制(G...

Python垃圾回收:循环引用检测算法实现

Python内存管理的核心是自动垃圾回收机制,它使开发者能够专注于业务逻辑而无需手动管理内存。Python采用引用计数作为基础内存管理方式,每个对象都有一个引用计数器记录指向它的引用数量。当计数为零时...

Python常见面试题及解答总结

以下是 Python 常见的面试题及简要答案示例,覆盖基础语法、数据结构、算法和高级特性等方向:一、Python 基础Python 中可变(Mutable)和不可变(Immutable)数据类型有哪些...

新手学Python避坑,学习效率狂飙! 十八、Python 内存管理

Python 的内存管理系统是一个复杂但高效的机制,以下是对其的一些分享。内存管理机制对象的创建与分配:Python 中一切皆对象,当创建一个对象时,例如x = 5,解释器会在内存中为整数对象5分配空...