自主购物系统 (无文件读写实现)
查看商品信息
#查看商品信息
def showitem(name):
for i in range(0,len(item)):
if name==item[i]['name']:
print(f"商品名称{item[i]['name']}、商品单价{item[i]['单价']}、当前商品数量:{item[i]['count']}")
print('1⚭加入购物车\n2⚭进入主菜单')
opt = int(input('请输入你要选择的操作:'))
if opt == 1:
print(f'添加商品 {name} 到购物车')
addshop(name)
elif opt == 2:
return
else:
return
break
else:
if i==len(item)-1:
print('\n△输入的商品不存在△\n')
查看购物车
#查看购物车商品
def show_shopcart():
n=0
while n!=4:
print('{:*^30}'.format('购物车'))
total = 0
for i in shopcard:
print(f"商品名称{i['name']:^4}单价 {i['单价']:^3} 数量 {i['count']:^3} 总价 {i['单价']*i['count']:^3}")
total+=i['单价']*i['count']
print(f'商品总价为 {total}')
print('*'*30)
print('1⚭删除商品\n2⚭减少商品数量\n3⚭查看商品详细信息\n4⚭返回至主菜单')
try:
n=int(input('请输入要操作的功能:'))
except :
print('\n△输入的功能不存在!返回主菜单△\n')
break
if n==1:
name=input('请输入要删除商品的名称:')
delshop(name)
elif n==2:
name = input('请输入要移除商品的名称:')
for i in range(0,len(shopcard)):
if name==shopcard[i]['name']:
if shopcard[i]['count']==1:
x=input('△该商品只有一个是否确认删除(y/n):')
if x=='y':
shopcard.pop(i)
print('删除成功')
break
elif x=='n':
print('返回购物车')
break
else:
print('输入的选项不符合要求')
else:
shopcard[i]['count']-=1
elif n==3:
name=input('请输入要查看的商品名称:')
showitem(name)
else:
return
添加商品至购物车
#添加商品至购物车
def addshop(name):
for j in range(0, len(item)):
if name==item[j]['name']:
for i in range(0, len(shopcard)):
if name==shopcard[i]['name']:
shopcard[i]['count'] += 1
break
if i == len(shopcard) - 1:
shopcard.append({'name': item[j]['name'], '单价': item[j]['单价'], 'count': 1})
break
if j == len(item) - 1:
print('\n△你输入的商品不存在△\n')
删除购物车商品
def delshop(name):
for i in range(0, len(shopcard)):
if name==shopcard[i]['name']:
shopcard.pop(i)
print('删除成功')
break
主体代码块
item=[{'name':'派克钢笔', '单价':200, 'count':20},{'name':'茶杯', '单价':50, 'count':30},{'name':'毛巾', '单价':20, 'count':40},
{'name':'书', '单价':20, 'count':20},{'name':'拖鞋', '单价':10, 'count':40}]
shopcard=[{'name':'书', '单价':20, 'count':1},{'name':'拖鞋', '单价':10, 'count':2}]
n=0
while n!=3:
print("{:◇^30}".format('欢迎来到※购物系统'))
for i in item:
print(f"商品名称 {i['name']:<6}商品单价 {i['单价']:<4}")
print('◇' * 30)
print('1⚭查看商品详细信息\n2⚭查看购物车\n3⚭退出系统')
try:
num=int(input('请选择要操作的功能:'))
except ValueError:
print('△'*30)
print('{:△^30}'.format('输入的功能选项不合法请重新选择'))
print('△' * 30)
continue
if num==1:
name=input('请输入要查看的商品信息:')
showitem(name)
elif num==2:
show_shopcart()
elif num==3:
print('❤'*30)
print('{:❤^30}'.format('谢谢惠顾'))
print('❤' * 30)
n=3
break
else:
print('\n△无该功能△\n')