购物系统业务需求V1.0:(需要使用到列表技术)
购物:
1.用户的账户里有钱
2.用户可推一个空的购物车进商场
3.开始购物,将自己想要的商品添加购物车
4.打印购物小条
程序和数据流程梳理分析:
购前:
钱要有:money
有足够商品:列表来存储list
有购物车:列表list
购中:
是否有这个商品:
有
钱够不够:
够:
添加到购物车!
钱减去商品价格!
恭喜,购买成功!您的卡余额还剩xxx
不够:
穷鬼,钱不够!请到其他超市购买!
没有:
没有这个商品,别瞎弄!
购后:
输入Q,q: 退出:
打印购物小条!
购物系统业务需求V2.0:
- 现在用户在进商场之前需要从10张优惠券中,随机抽取一张优惠券。
比如抽到一个空凋的8折优惠券,后面在购物的过程中,空凋就可以按照8折后的价格来购买。
- 优化购物小条的人性化打印。
购物时间,卡余额,购物数量,购买总商品的价值。
- 添加退货功能。在购买途中,某个商品不要了,退回到购物架中!
from datetime import datetime
import random
money=0 #money
j=0
t_money=0
while True:
money=input("请输入您的银行卡余额:")
if money.isdigit():
money =int(money)
money1=money
break
else:
print("余额非法,重新输入!")
shop = [
["洗衣机",2500],
["微波炉",1200],
["外星人PC",12000],
["Mac pc",12000],
["iphone 13",8000],
["辣条",2.5]
]
mycart=[] #购物车
for key,value in enumerate(shop):
print(key,value)
name = random.sample(shop, 1)
name=name[0][0]
price = random.randint(1, 9)
print("恭喜您抽中", name, "的", price, "折优惠券")
print(name)
shopping_num_list=[] #商品数量清单
shoppinglist=[] #购物清单
while True:
chose=input("请输入您想要商品的编号:")
if chose.isdigit():
chose=int(chose)
if chose>len(shop):
print("对不起,没这个商品!")
else:
if money>shop[chose][1]:
mycart.append(shop[chose])
shopping_num = input('请输入想要的商品数量:')
shopping_num = float(shopping_num)
print(mycart)
if shop[chose][0] == name:
money=money-shop[chose][1]*shopping_num*price/10
else:
money=money-shop[chose][1]*shopping_num
print("恭喜,添加",shop[chose][0])
shopping_num_list.append(shopping_num)
else:
print("余额不足,请购买其他商品!")
elif chose =="Q" or chose=="q":
print("拜拜!")
break
elif chose =="T" or chose=="t":
t_id = input("请输入退货商品编号:")
t_id = int(t_id)
if shop[t_id] in mycart:
t_num = input("请输入退货数量:")
t_num = int(t_num)
it = mycart.index(shop[t_id])
if shopping_num_list[it] > t_num:
shopping_num_list[it] = shopping_num_list[it] - t_num
if shop[t_id][0] == name:
t_money = t_money - shop[t_id][1] * shopping_num_list[it] * price / 10
else:
t_money = t_money - shop[t_id][1] * shopping_num_list[it]
money = money + t_money
print("退货成功")
elif shopping_num_list[it] == t_num:
if shop[t_id] == name:
t_money = t_money - shop[t_id][1] * shopping_num_list[it] * price / 10
else:
t_money = t_money - shop[t_id][1] * shopping_num_list[it]
money = money + t_money
mycart.remove(shop[t_id])
print("退货成功")
else:
print("购物车中商品数量没有那么多!")
else:
print("输入非法,请重新输入!")
print("以下是您的购物小条,请拿好!")
print("-----------------------")
#购买时间
dt=datetime.now()
print("购买时间:",dt)
#购物数量
while j < len(mycart):
print("购买物品:", mycart[j][0], "购买数量:", shopping_num_list[j])
j = j + 1
#购买总商品的价格
print("购买商品总价值",money1-money)
#卡余额
print("您的最终余额还剩:¥",money)