01-列表购物系统-列表

购物系统业务需求V1.0:(需要使用到列表技术

购物:

        1.用户的账户里有钱

        2.用户可推一个空的购物车进商场

        3.开始购物,将自己想要的商品添加购物车

        4.打印购物小条

程序和数据流程梳理分析:

购前:

钱要有:money

有足够商品:列表来存储list

有购物车:列表list

购中:

是否有这个商品:

钱够不够:

够:

添加到购物车!

钱减去商品价格!

恭喜,购买成功!您的卡余额还剩xxx

不够:

穷鬼,钱不够!请到其他超市购买!

没有:

没有这个商品,别瞎弄!

购后:

输入Q,q: 退出:

打印购物小条!

购物系统业务需求V2.0:

  1. 现在用户在进商场之前需要从10张优惠券中,随机抽取一张优惠券。

比如抽到一个空凋的8折优惠券,后面在购物的过程中,空凋就可以按照8折后的价格来购买。

  1. 优化购物小条的人性化打印。

购物时间,卡余额,购物数量,购买总商品的价值。

  1. 添加退货功能。在购买途中,某个商品不要了,退回到购物架中!

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)

  • 10
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值