python简易购物车程序代码
# 编号 商品名称 价格 数量
name 电脑 price 2999 bianhao 100001 shuliang 33
name 农家⼟鸡 price 55 bianhao 100002 shuliang 51
name ⾐服 price 188 bianhao 100003 shuliang 46
name 美⼥ price 1888 bianhao 100004 shuliang 22
name 龙虾 price 66 bianhao 100005 shuliang 31
name 微波炉 price 500 bianhao 100006 shuliang 34
name ⼿机 price 1888 bianhao 100007 shuliang 66
name 洗⾐粉 price 8 bianhao 100008 shuliang 71
name 狗⾁ price 30 bianhao 100009 shuliang 67
name 电视机 price 2666 bianhao 100010 shuliang 52
name ⽜奶 price 3 bianhao 100011 shuliang 68
# 购物需求:
# 1. ⽤户输⼊⾃⼰⾦额;
# 2. ⼤甩卖商品显⽰:【编号 商品名称 价格 数量】;
# 3. 购物车:
# ⽤户输⼊商品编号或者商品名称来选择商品,并输⼊每件商品的数量,按'y'键退出输⼊;
# 输⼊的编号或者商品不存在时,提⽰:库存中没有该商品!
# 4. ⾦额⼤于等于购物车需要⽀付的价格,且数量充⾜,购买成功,⽂件中相应的数量需要减少;
# 5. ⾦额不⾜,提⽰:⾦额不⾜的相关提⽰;
# 6. 数量不⾜,提⽰:库存不⾜,购买失败!
f1=open(r'F:\软件测试\',encoding='utf-8',mode='r')
adlines()
f1.close
goods=[]#货物总表
sp=[]#商品列表
jg=[]#价格列表
bh=[]#编号列表
kc=[]#库存列表
import random
for i in jieguo:#此循环将⽂本内容添加到对应的表中,goods商品详情⽤于呈现给客户,qp商品表、jg价格表、bh编号表、kc库存表 list=i.strip().split(' ')
goods.append(list)
sp.append(list[1])
jg.append(list[3])
bh.append(list[5])
kc.append(list[7])
def xbsp(yousp):#函数,根据商品名称到商品在商品列表或编号列表中的下标
for x in range(0,11):
if sp[x]==shangpin or bh[x]==shangpin:
return x
zongjia=0#存储总价
z=0#控制循环
n=True#控制循环
while n:#此循环判定⽤户输⼊的⾦钱,⾦钱⼩于3元或者输错3次将会退出系统,符合要求进⼊下⼀步
linshi=input('请输⼊您的⾦钱数量:')
try:#容错处理,客户可能输⼊字符,转⼊except中
money=float(linshi)
if money<=0:
print('抱歉,⾦钱不能⼩于或等于0')
z=z+1
z=z+1
if z >2:
print('错误次数超过3次,请稍后再试')
n=False
elif money<3:
print('抱歉,您的⾦钱不⾜,⽆法购买任何商品')
z=z+1
if z >2:
print('错误次数超过3次,请稍后再试')
n=False
elif money>=3:
print('⾦钱输⼊正确,即将进⾏下⼀步')
o=0
p=True
while p:#判定商品名称或商品编号,输错3次退出系统,符合要求进⼊下⼀步
print(goods)
shangpin=input('请输⼊商品名称或商品编号:')
if shangpin=='y':#商品名称时输⼊y,购物结束,写⼊数据
print('总计⾦钱%d,消费⾦额%d,余额%d' %(money,zongjia,money-zongjia))
f2=open(r'F:\软件测试\',encoding='utf-8',mode='w')
for j in goods:#这段代码⽤于写⼊数据
mystr=' '.join(j)
f2.write(mystr+'\n')
p=False
n=False
elif shangpin in sp or shangpin in bh:#商品名称或商品编号存在,但是客户⾦钱不⾜
if int(jg[xbsp(shangpin)])>money:
print('该商品价格为%d,您的⾦钱为%d,⾦钱不⾜⽆法⽀付' %(int(jg[xbsp(shangpin)]),money))
o=o+1
if o>2:
print('错误次数超过3次,请稍后再试')
p=False
n=False
else:#客户⾦钱充⾜,商品名称或编号输⼊正确
print('%s选择成功,进⼊下⼀步' %shangpin)
u=0
v=True
while v :#判定商品数量,输错3次退出系统,符合要求进⼊下⼀步
try:#客户数量输⼊字符将进⼊except处理
shuliang=input('请输⼊商品数量:')
if shuliang=='y':#商品数量时输⼊y,写⼊数据,结束购物进程
print('总计⾦钱%d,消费⾦额%d,余额%d' %(money,zongjia,money-zongjia))
f2=open(r'F:\软件测试\',encoding='utf-8',mode='w')
for j in goods:#这段代码⽤于写⼊数据
mystr=' '.join(j)
f2.write(mystr+'\n')
v=False
p=False
n=False
elif int(shuliang) > int(kc[xbsp(shangpin)]):#购买数量⼤于库存
print('购买数量%d,库存%d,库存不⾜,请重新输⼊:' %(int(shuliang),int(kc[xbsp(shangpin)]))) u=u+1
if u>2:
print('错误次数超过3次,请稍后再试')
v=False
p=False
p=False
n=False
elif int(shuliang)<0:#购买数量⼩于0
print('购买数量不能⼩于0,请重新输⼊:')
u=u+1
if u>2:
print('错误次数超过3次,请稍后再试')
v=False
p=False
n=False
elif money-int(shuliang)*int(jg[xbsp(shangpin)])-zongjia<0 :#总价⾼于⾦钱
print('商品总价%d,余额不⾜,⽆法购买' %(zongjia+int(shuliang)*int(jg[xbsp(shangpin)])))
u=u+1
if u>2:
print('错误次数超过3次,请稍后再试')
v=False
p=False
n=False
elif money-int(shuliang)*int(jg[xbsp(shangpin)])-zongjia<3 :#剩余⾦钱⼩于3元
print('总计⾦钱%d,商品总额%d,不⾜以购买其他商品,请输⼊y结账:' %
(money,zongjia+int(shuliang)*int(jg[xbsp(shangpin)])))
jz=input('请输⼊:y结账')
if jz=='y':#写⼊数据,结束购物进程
print('总计⾦钱%d,消费⾦额%d,余额%d' %
(money,int(shuliang)*int(jg[xbsp(shangpin)])+zongjia,money-zongjia-int(shuliang)*int(jg[xbsp(shangpin)])))
f2=open(r'F:\软件测试\',encoding='utf-8',mode='w')
for j in goods:#这段代码⽤于写⼊数据
mystr=' '.join(j)
f2.write(mystr+'\n')
v=False
p=False
n=False
else:#结账输⼊错误3次结束进程
u=u+1
if u>2:
print('错误次数超过3次,请稍后再试')
v=False
p=False
n=False
elif money-int(shuliang)*int(jg[xbsp(shangpin)])-zongjia>=3:#本商品选择后台结算成功,更改临时数据,记录缓存
print('总计⾦钱%d,商品总额%d,余额%d:' %
(money,int(shuliang)*int(jg[xbsp(shangpin)])+zongjia,money-zongjia-int(shuliang)*int(jg[xbsp(shangpin)])))
goods[xbsp(shangpin)][7]=str(int(goods[xbsp(shangpin)][7])-int(shuliang))
kc[xbsp(shangpin)]=str(int(kc[xbsp(shangpin)])-int(shuliang))
zongjia=zongjia+int(shuliang)*int(jg[xbsp(shangpin)])
网页购物车代码v=False
except:#数量错误3次结束进程
print('数量请输⼊数字')
u=u+1
if u>2:
print('错误次数超过3次,请稍后再试')
v=False
p=False
n=False
else:#商品编号输错3次结束
else:#商品编号输错3次结束
print('请输⼊正确的商品或编号')
o=o+1
if o>2:
print('错误次数超过3次,请稍后再试') p=False
n=False
except:#⾦钱输⼊错误3次结束进程
print('⾦钱请输⼊数字:')
z=z+1
if z >2:
print('错误次数超过3次,请稍后再试')
n=False
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论