zoukankan      html  css  js  c++  java
  • 简单的购物车功能 (while实现)

     1 #商品列表
     2 commodity=[
     3         {'name':'小米plus', 'price':2899},
     4         {'name':'魅族6', 'price':999},
     5         {'name':'TCL电视', 'price':8999},
     6         {'name':'天猫盒子', 'price':1289},
     7         {'name':'Tp_link路由器', 'price':699},
     8         {'name':'BMW超跑', 'price':512899},
     9         {'name':'中央空调', 'price':5999},
    10     ]
    11 cart={}
    12 flg=True
    13 print('欢迎光临超讯科技家电中心>>>>>>')
    14 money=input('请出示你的银行卡金额:').strip()
    15 if money.isdigit() and int(money)>0:        #金额大于0才能看到菜单
    16     while flg:
    17         for i,j in enumerate(commodity):    #枚举获得列表菜单
    18             print('{}-{}:¥{}RMB'.format(i,j['name'],j['price']))
    19         goods = input('请输入你想购买的商品编号或者按‘Q’退出')
    20         if goods.isdigit() and int(goods) in range(0,len(commodity)): #选择的商品编号必须与列表编号一致
    21             num = input('请输入你想购买的商品数量')
    22             if num.isdigit():
    23                 if int(money)>commodity[int(goods)]['price']*int(num):  #余额必须大于想购买商品的总价格才能购买
    24                     money=int(money)-commodity[int(goods)]['price']*int(num)
    25                     print('您已经将%s号商品%s加入到购物车,商品共%s件' % (goods, commodity[int(goods)]['name'], int(num)))
    26                     print('结算需要【%s】RMB,余额为>>>%s'%(commodity[int(goods)]['price']*int(num),money))
    27                 else:
    28                     print('余额不够为%sRMB,少买点吧,屌丝'%money) #余额不足,不能购买
    29                     change=input('是否需要充值后购买(Y/N)?')
    30                     if change.isalpha() and change.upper()=='Y':   #判断是否需要充值
    31                         add_money=input('请输入要充值金额')
    32                         if add_money.isdigit():
    33                             money=int(money)+int(add_money)       #完成充值则重新赋值给money
    34                         else:
    35                             print('就你皮,爱搞事情!')
    36                     else:
    37                         print('我靠,钱都不冲,你买个锤子!')
    38                         break
    39                 if commodity[int(goods)]['name'] in cart:    #判断选择的商品是否在购物车列表
    40                     cart[commodity[int(goods)]['name']]=cart[commodity[int(goods)]['name']]+int(num) #在则更新商品数量
    41                 else:
    42                     cart[commodity[int(goods)]['name']]=int(num)  #不在则加入购物车列表
    43 
    44         else:
    45             if goods.upper()!='Q':
    46                 print('你不会看提示么,瞎几把输入')
    47             else:
    48                 break  #按Q退出
    49 else:
    50     print('余额不足,充钱去吧,小伙砸')
    购物车列表
  • 相关阅读:
    Spring@Profile注解
    day 32 子进程的开启 及其用法
    day 31 udp 协议SOCK_DGRAM
    day 30 客户端获取cmd 命令的步骤
    day 29 socket 理论
    day 29 socket 初级版
    有关 组合 继承
    day 27 多态 接口 类方法 静态方法 hashlib 摘要算法模块
    新式类和经典类的区别
    day 28 hasattr getattr serattr delattr 和带__内置__ 类的内置方法
  • 原文地址:https://www.cnblogs.com/wen-kang/p/9277248.html
Copyright © 2011-2022 走看看