这次我教大家做一个超市管理系统,我个人已经搞到2.1版本了,大家先提前安装mysql数据库!!!
直接上代码!
import pymysql
import time
import random
print("欢迎来到超市管理系统")
#广告部分(这个是代码的一部分,教大家如何在开头插入广告)-------------------------------------------------------------------------------------------
cscs=random.randint(1,3)
if cscs==1:
print("恭喜你,可以为我们做测试了,测试内容是调查系统Bata 1.0,调查系统Bata 1.0是恰到好处a第一款图形化软件,这次测试是难得的机会,请好好珍惜!按取消继续运行超市管理系统2.1")
import PySimpleGUI as sg
layout=[
[sg.Text("请输入基本信息",font=('宋体',15),relief='raised',border_width=4,right_click_menu=["1",["示例",["姓名示例","性别示例","国藉示例"],["为什么要输入个人信息"]]])],
[sg.Text('姓名',relief='raised',border_width=4,right_click_menu=["1",["姓名示例"]]),sg.In(None)],
[sg.Text('性别',relief='raised',border_width=4,right_click_menu=["1",["性别示例"]]),sg.In(None)],
[sg.Text('国藉',relief='raised',border_width=4,right_click_menu=["1",["国藉示例"]]),sg.In(None)],
[sg.B('确认'),sg.B("取消")],
]
window=sg.Window('基本信息调查',layout)
while True:
event,values=window.read()
if event==None:
break
if event=='确认':
if values[1]=="女":
sg.Popup("------信息提交成功!,姓名:"+values[0]+",性别:"+values[1]+",国藉:"+values[2]+"------")
elif values[1]=="男":
sg.Popup("------信息提交成功!,姓名:"+values[0]+",性别:"+values[1]+",国藉:"+values[2]+"------")
else:
sg.Popup("个人信息不符合要求")
if event=='取消':
break
if event=='姓名示例':
sg.Popup("张XX")
if event=='性别示例':
sg.Popup("男")
if event=='国藉示例':
sg.Popup("中国")
if event=="为什么要输入个人信息":
sg.Popup("这个调查仅仅是在在测试,不会保存你的任何信息")
window.close()
print("谢谢参与!")
#----------------------------------------------------------------------
def ld():
qq=input("请输入密码")
if qq=="超市管理系统收银员密码":#需要填写
return "y"
else:
print("密码错误,登录失败")
return "n"
print("正在启动…………")
host = 'localhost'
port = 3306
db = 'csglxt'#新建csglxt这个数据库
user = '你的mysql用户名'
password = '你的mysql密码'
def sjk(host,port,db,user,password):
try:
conn = pymysql.connect(host=host, port=port, db=db, user=user, password=password)
return conn
except Exception as e:
print("出现错误,错误码",e,",请联系工作人员处理")
input("按回车退出")
exit()
b=sjk(host,port,db,user,password)
b.close()
while 1==1:
print("--序号--------名称--")
print("--1.----查看商品信息-")
print("--2.--------增加商品-")
print("--3.--------下架商品-")
print("--4.--------增加库存-")
print("--5.--------购买商品-")
print("--6.--------退换商品-")
print("--7.--------修改价格-")
print("--8.--------退出系统-")
try:
a=int(input("请输入项目编号"))
if a==1:
b=sjk(host,port,db,user,password)
cursor=b.cursor()
sql="select * from pm;"#创建品名表
cursor.execute(sql)
c=cursor.fetchall()
f=0
for d in c:
f=0
print("----------------------")
for e in d:
f+=1
if f==1:
print("品名",e)
elif f==2:
print("价格",e)
else:
print("库存",e)
print("----------------------")
a=list(c[0])
b.close()
elif a==2:
z=ld()
if z=="y":
b=sjk(host,port,db,user,password)
g=input("请输入品名")
try:
h=float(input("请输入价格"))
except Exception as e:
print("请输入数字!")
try:
j=float(input("新商品目前库存"))
except Exception as e:
print("请输入数字!")
sql='insert into pm(品名,价格,库存) values (%s,%s,%s)'
cursor=b.cursor()
cursor.execute(sql,(g,h,j))
b.commit()
b.close()
elif a==3:
z=ld()
if z=="y":
b=sjk(host,port,db,user,password)
k=input("请输入品名")
sql="delete from pm where 品名=%s;"
cursor=b.cursor()
cursor.execute(sql,k)
b.commit()
b.close()
elif a==4:
z=ld()
if z=="y":
b=sjk(host,port,db,user,password)
t=input("请输入品名")
r=int(input("请输入进了多少货"))
sql="select * from pm;"
cursor=b.cursor()
cursor.execute(sql)
l=cursor.fetchall()
for m in l:
n=0
p=0
for o in m:
if o==t:
q=m[2]
break
n+=1
sql="update pm set 库存=%s where 品名=%s"
cursor=b.cursor()
u=r+q
cursor.execute(sql,(u,t))
b.commit()
b.close()
elif a==5:
b=sjk(host,port,db,user,password)
t=input("请输入品名")
r=int(input("请输入购买多少"))
sql="select * from pm;"
cursor=b.cursor()
cursor.execute(sql)
l=cursor.fetchall()
for m in l:
n=0
p=0
for o in m:
if o==t:
q=m[2]
z=m[1]
break
n+=1
sql="update pm set 库存=%s where 品名=%s"
u=q-r
cursor=b.cursor()
if r<=q:
cursor.execute(sql,(u,t))
print("请扫描机器上的二维码,并支付",z*r,"元")
else:
print("库存不足")
b.commit()
b.close()
elif a==6:
print("请联系工作人员处理")
elif a==7:
z=ld()
if z=="y":
b=sjk(host,port,db,user,password)
t=input("请输入品名")
r=int(input("请输入新的价格"))
sql="select * from pm;"
cursor=b.cursor()
cursor.execute(sql)
l=cursor.fetchall()
for m in l:
n=0
p=0
for o in m:
if o==t:
q=m[2]
break
n+=1
sql="update pm set 价格=%s where 品名=%s"
cursor=b.cursor()
cursor.execute(sql,(r,t))
b.commit()
b.close()
elif a==8:
zzz=input("你是否要退出(1:是,2:否)")
if zzz=="1":
print("正在退出…………")
time.sleep(2)
exit()
else:
print("编号不存在")
except Exception as e:
print("请输入数字!")
运行效果:
全部代码链接:
cxglxt 2.1.py 等文件 https://www.aliyundrive.com/s/GiX3ipNjoa4https://www.aliyundrive.com/s/GiX3ipNjoa4
感谢关注!