zoukankan      html  css  js  c++  java
  • python3编写脚本之--------购物车

    我这里的购物车的大概内容是:

          1.首先要知道商品的有什么东西可卖,需要多少钱。

           2.买家准备花多少钱去购物商品,购买的商品先放在购物车里。

              3.最后买家还可以是否确定购买购物车的东西,还剩多少钱。

    编写的脚本如下:

     1 #!/usr/bin/env python
     2 # encoding: utf-8
     3 
     4 #能购买的商品的东西
     5 goods = [
     6     ["一本书", 40], ["牙膏", 3], ["牙刷", 5], ["自行车", 200], ["手表", 100],
     7     ["面膜", 10], ["哇哈哈", 5], ["卫龙", 2], ["果冻", 23], ["水饺", 12], ["姨妈巾", 5],
     8     ]
     9 
    10 #输入你准备用多少钱去购买商品,并判断输入的是否是数字。
    11 flag = True
    12 while flag:
    13     salary = input("33[1;34;40m请输入准备花多少钱去购物: ")#33[显示方式;前景色;背景色m + 结尾部分:33[0m
    14     if salary.isdigit():
    15         salary = int(salary)
    16         cash = salary
    17         break
    18 else:
    19     print("输入的金额方式不对,请正确输入的数字:")
    20 
    21 #先建一个购物车空列表
    22 shopping_cart = []
    23 
    24 #下面是想把购买的商品放入购物车中。
    25 while flag:
    26     for i,v in enumerate(goods, 1):#enumerate函数打印时,内容前面有编号,后面的参数1的意思是从1开始编号。
    27         print("33[0m 33[0;32;40m",i,"	",v,"33[0m")
    28     select_num = input("33[1;34;40m请选择您需要购买的商品(输入编号即可,输入'q'即可退出): ")
    29     if select_num.isdigit():
    30         select_num = int(select_num)
    31         if select_num > 0 and select_num <= len(goods):
    32             if salary >= goods[select_num-1][1]:
    33                 shopping_cart.append(goods[select_num - 1])
    34                 salary -= goods[select_num-1][1]
    35             else:
    36                 print("33[5;35;47m余额不足。。。剩余:%f33[0m" % salary)
    37 
    38         else:
    39             print("33[5;35;47m没有你想要的商品编号,请重新输入编号,谢谢!33[0m")
    40     elif select_num == 'q':
    41         break
    42     else:
    43         print("33[5;35;47m您输入的内容不正确,请重新输入编号!33[0m")
    44 
    45 #打印购物车里的东西,并判断确定是否购买
    46 print("33[0m 33[1;31;40m----------------购物车的清单-------------------33[0m")
    47 shopping_cart_norepeat = []
    48 for trade in shopping_cart:
    49     if trade not in shopping_cart_norepeat:
    50         shopping_cart_norepeat.append(trade)
    51 
    52 for commodity in shopping_cart_norepeat:
    53     n = shopping_cart.count(commodity)
    54     print("33[1;32;40m",commodity[0],"-----",n,"件-----",commodity[1]*n,"元33[0m")
    55 
    56 #确定是否购买商品。
    57 sure = input("33[4;31;40m你确定购买吗?(y/n) ")
    58 if sure == 'y':
    59     print("33[0m 33[5;32;40m你已经购买了以上的商品。剩余金额为:%f元33[0m" % salary)
    60 else:
    61     print("33[0m 33[5;32;40m你没购买的以上商品,剩余金额不变: %f元33[0m" % cash)
    View Code

    下面结果是一个例子:

    请输入准备花多少钱去购物: 200
      1      ['一本书', 40]
      2      ['牙膏', 3]
      3      ['牙刷', 5]
      4      ['自行车', 200]
      5      ['手表', 100]
      6      ['面膜', 10]
      7      ['哇哈哈', 5]
      8      ['卫龙', 2]
      9      ['果冻', 23]
      10     ['水饺', 12]
      11     ['姨妈巾', 5]
    请选择您需要购买的商品(输入编号即可,输入'q'即可退出): 1
      1      ['一本书', 40]
      2      ['牙膏', 3]
      3      ['牙刷', 5]
      4      ['自行车', 200]
      5      ['手表', 100]
      6      ['面膜', 10]
      7      ['哇哈哈', 5]
      8      ['卫龙', 2]
      9      ['果冻', 23]
      10     ['水饺', 12]
      11     ['姨妈巾', 5]
    请选择您需要购买的商品(输入编号即可,输入'q'即可退出): 1
      1      ['一本书', 40]
      2      ['牙膏', 3]
      3      ['牙刷', 5]
      4      ['自行车', 200]
      5      ['手表', 100]
      6      ['面膜', 10]
      7      ['哇哈哈', 5]
      8      ['卫龙', 2]
      9      ['果冻', 23]
      10     ['水饺', 12]
      11     ['姨妈巾', 5]
    请选择您需要购买的商品(输入编号即可,输入'q'即可退出): 4
    余额不足。。。剩余:120.000000
      1      ['一本书', 40]
      2      ['牙膏', 3]
      3      ['牙刷', 5]
      4      ['自行车', 200]
      5      ['手表', 100]
      6      ['面膜', 10]
      7      ['哇哈哈', 5]
      8      ['卫龙', 2]
      9      ['果冻', 23]
      10     ['水饺', 12]
      11     ['姨妈巾', 5]
    请选择您需要购买的商品(输入编号即可,输入'q'即可退出): 6
      1      ['一本书', 40]
      2      ['牙膏', 3]
      3      ['牙刷', 5]
      4      ['自行车', 200]
      5      ['手表', 100]
      6      ['面膜', 10]
      7      ['哇哈哈', 5]
      8      ['卫龙', 2]
      9      ['果冻', 23]
      10     ['水饺', 12]
      11     ['姨妈巾', 5]
    请选择您需要购买的商品(输入编号即可,输入'q'即可退出): 7
      1      ['一本书', 40]
      2      ['牙膏', 3]
      3      ['牙刷', 5]
      4      ['自行车', 200]
      5      ['手表', 100]
      6      ['面膜', 10]
      7      ['哇哈哈', 5]
      8      ['卫龙', 2]
      9      ['果冻', 23]
      10     ['水饺', 12]
      11     ['姨妈巾', 5]
    请选择您需要购买的商品(输入编号即可,输入'q'即可退出): q
     ----------------购物车的清单-------------------
     一本书 ----- 2 件----- 80 元
     面膜 ----- 1 件----- 10 元
     哇哈哈 ----- 1 件----- 5 元
    你确定购买吗?(y/n) y
     你已经购买了以上的商品。剩余金额为:105.000000元

           

  • 相关阅读:
    校门外的树
    学生档案
    冒泡排序法
    寻找最大数序列
    初识结构体
    找零钱
    冒泡的应用
    关于数组的逆序重放
    关于质数
    字符串转换为日期格式
  • 原文地址:https://www.cnblogs.com/hyan0913/p/8316598.html
Copyright © 2011-2022 走看看