超市管理系统2.5.1版本升级

目录

用途

回顾老版本

制作2.5.1版本

全部代码下载


用途

现在很多小超市使用人工收款,人多了肯定会忙不过来,但是可以使用超市管理系统进行自助付款,可以节省许多人力,现在我们就来做一个吧!

回顾老版本

老版本2.1.0出现错误时提供错误代码,但是用户关闭窗口则无法提供给技术人员,这个是一个漏洞。

制作2.5.1版本

请先安装my sql数据库!!!

然后新建csglxt这个数据库(可以使用navicat12)

在csglxt中创建pm表

2.5.1版本还新增了协议同意模块,同意后才能运行,不过需要在cmd中输入

pip insstall PySimpleGUI

首先,在你的任意一个英文名文件夹中新建txt文件,命名为 csglxt2-5错误.txt

其次,在原来的文件夹中新建csglxt2.5.py文件,使用LIDE或任意一个python编辑器打开(不要使用cmd)

输入以下代码:

import pymysql
import time
import random
import PySimpleGUI as sg
#引入各种模块

随后初始化:

cscscs=0
if 1==1:#复制方便,这样不需要缩进
	#协议同意部分,不同意关闭
	aaaaaaaaaaaa=['超市管理系统为恰到好处a出品,','未经许可,不得转载,','仅供个人使用!','欢迎大家寻找漏洞!','如果需要商用,请邮箱至xxx@xxx.com']
	layout=[
	[sg.Text("欢迎来到超市管理系统,请问是否同意以下协议",font=('宋体',15),relief='raised',border_width=4)],
	[sg.LB(aaaaaaaaaaaa,
	size=(40,2)
	)],
	[sg.B('同意',bind_return_key=True),sg.B("不同意")],
	]
	window=sg.Window('请同意协议',layout)
	while True:
		event,values=window.read()
		if event==None:
			cscscs=1
			break
		if event=='不同意':
			cscscs=1
			break
		if event=='同意':
			break
		
	window.close()
	if cscscs==1:
		exit()
#协议同意部分结束
print('欢迎来到超市管理系统')
#广告部分-------------------------------------------------------------------------------------------
cscs=random.randint(1,3)
if cscs==1:
	print("恭喜你,可以为我们做测试了,测试内容是调查系统Bata 1.2,调查系统Bata 1.0是恰到好处a第一款图形化软件,这次测试是难得的机会,请好好珍惜!按取消继续运行超市管理系统2.5")
	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,key='a')],
	[sg.Text('性别',relief='raised',border_width=4,right_click_menu=["1",["性别示例"]]),sg.In(None,key='b')],
	[sg.Text('国藉',relief='raised',border_width=4,right_click_menu=["1",["国藉示例"]]),sg.In(None,key='c')],
	[sg.B('确认',bind_return_key=True),sg.B("取消")],
	]
	window=sg.Window('基本信息调查',layout)
	while True:
		event,values=window.read()
		if event==None:
			break
		if event=='确认':
			cscsa=1
			if values['b']=="女":
				cscsa=0
				sg.Popup("------信息提交成功!,姓名:"+values['a']+",性别:"+values['b']+",国藉:"+values['c']+"------")
			elif values['b']=="男":
				cscsa=0
				sg.Popup("------信息提交成功!,姓名:"+values['a']+",性别:"+values['b']+",国藉:"+values['c']+"------")
			else:
				sg.Popup("个人信息不符合要求")
			if cscsa==0:
				window['a'].update(value='')
				window['b'].update(value='')
				window['c'].update(value='')
				window['a'].SetFocus()
			else:
				window['b'].update(value='')
				window['b'].SetFocus()

		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'
user = '你的数据库账号'
password = '你的数据库密码'

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 cw:
		print("出现错误,错误码",cw,",请联系工作人员,并将错误码告知工作人员")#打印错误码
		cwe=cw
		file=open(r"csglxt2-5错误.txt","a")#append追加写入,写入错误码
		file.write(str(cwe))
		file.close()
		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("请输入数字!")
		

sql语句稍稍难一些,大家可以自行学习一下

全部代码下载

全部代码下载(阿里云盘):

阿里云盘分享https://www.aliyundrive.com/s/KHRFuvKvFSx

这些是python超市管理系统2.5.1的全部内容,希望对你有帮助!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值