zoukankan      html  css  js  c++  java
  • python学习购物车小程序

    购物车
    功能要求:

    要求用户输入总资产,例如:2000
    显示商品列表,让用户根据序号选择商品,加入购物车
    购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
    附加:可充值、某商品移除购物车





     1 goods = [
     2     {"name": "电脑", "price": 1999},
     3     {"name": "鼠标", "price": 10},
     4     {"name": "游艇", "price": 20},
     5     {"name": "娃娃", "price": 3998},
     6     {"name": "气筒", "price": 99},
     7 ]
     8 kong=[]
     9 while True:
    10     qian = input('请输入您要充值的Q币: ').strip()
    11     if qian.isdigit():
    12         qian = int(qian)
    13     else:
    14         print('\033[41m不要瞎输入,难道你一毛钱都没有???\033[1m')
    15         continue
    16     while True:
    17         for k,v in enumerate(goods) :
    18             print(k,'商品: {name}  价格: {price} Q币'.format(price=v['price'],name=v['name']))
    19         sp=input('请输入购买的商品编号[输入qq充值][输入r删除购物车商品][输入q退出]: ').strip()
    20         print('\033[41m您还有:%s(Q币)\033[1m ' % qian)
    21         if sp =='q'and len(sp)!=0:
    22             exit()
    23         elif sp == 'r':
    24             while True:
    25                 if kong==[]:
    26                      print('======================》没有商品可删了《=====================')
    27                      break
    28                 print('您以购买的商品: ')
    29                 for k, v in enumerate(kong):     #for循环显示已购买的商品
    30                     print(k,'商品: {name}  价格: {price} Q币'.format(price=v[1],name=v[0]))
    31                 sc = input('请输入删除的商品编号[输入q退出]: ').strip()
    32                 print('\033[41m您还有:%s(Q币)\033[1m ' % qian)
    33                 if sc == 'q' :
    34                     break
    35                 if sc.isdigit():
    36                     if int(sc) < len(kong) and int(sc)>=0 :   #判断输入的数字不能大于列表的下标数字和小于0
    37                              qian+=int(kong[int(sc)][1])       #计算删除商品后剩余的钱
    38                              kong.remove(kong[int(sc)])        #删除购物车商品
    39                     else:
    40                         print('!!!!!!!!!!!!!!!!无效的输入!!!!!!!!!!!!!!!!!!!')
    41                 else:
    42                     print('\033[42m请输入要删除的商品编号哦~\033[0m')
    43         elif sp == 'qq':
    44             while True:
    45                 x = input('请输入充值金额: ').strip()
    46                 if len(kong)<0:
    47                     continue
    48                 elif x.isdigit():
    49                     qian +=int(x)
    50                     print('\033[41m您还有:%s(Q币)\033[1m ' % qian)
    51                     break
    52                 else:
    53                     print('还想不想充Q币了!!!还想不想充Q币了!!!还想不想充Q币了!!!')
    54         elif sp.isdigit():
    55             if int(sp) <len(goods) and int(sp) >=0 :
    56                 jiaqian = goods[int(sp)]['price']
    57                 mingzi = goods[int(sp)]['name']
    58                 if  jiaqian <= qian :
    59                     qian-=jiaqian
    60                     kong.append((mingzi,jiaqian))
    61                     print('\033[42m您以购买的商品:=========》%s《========\033[0m' % kong)
    62                 else :
    63                     print('\033[41m《《《《《Q币不够了~还剩%s(Q币)快快输入qq充值去!》》》》》\033[2m'%qian)
    64             else:
    65                 print('>>>>>>>>>>>>>>>>>不要瞎搞!!!按提示操作!!!不要瞎搞!!!<<<<<<<<<<<<<<<<<<<<<')
    66 
    67         else:
    68                 print('>>>>>>>>>>>>>>>>>不要瞎搞!!!按提示操作!!!不要瞎搞!!!<<<<<<<<<<<<<<<<<<<<<')
    购物车
  • 相关阅读:
    Mybatis使用map传递参数与模糊查询写法
    mybatis实现简单的crud
    普通maven项目导入mybatis依赖后找不到程序包(已解决)
    MarkDown语法学习
    CentOS 7 配置hadoop(一) 安装虚拟机(伪分布)
    CentOS 7 配置hadoop(二) 配置hdfs(伪分布)
    生成32个的字母加数字
    mysql 横变竖 竖变横
    Java实现短息验证
    spring+springmvc+mybatis+Redis的配置文件
  • 原文地址:https://www.cnblogs.com/ikere/p/7154530.html
Copyright © 2011-2022 走看看