• 购物车小程序


    购物车小程序:

     1 # __author:"Cheng"
     2 # date:2018/2/14
     3 
     4 product_list = [    # 因为商品和价格这里不准备改,所以用元组 。
     5 
     6     ('巧克力', 128),
     7     ('吹风机', 218),
     8     ('自行车', 688),
     9     ('扫地机器人', 1280),
    10     ('笔记本电脑', 3888),    # 元组最后面都要加逗号。
    11 
    12 ]
    13 # 可以给两个变量一起赋值,例如a,b = [2,3]。分析:a和b变量分别赋值2和3
    14 saving = input('存多少钱到购物卡:')  # saving就是你刚刚输入的钱,存了多少钱在你的账户
    15 shop_car = []   # 定义一个空列表,为下面加入该购物车作准备。
    16 if saving.isdigit():    # 判断saving是否是数字。
    17     saving = int(saving)    # 是的话把saving转化为整型。
    18     while True:  # 死循环,不断打印商品列表让用户选择。
    19 
    20         for goods_num, goods in enumerate(product_list, 1):  # for后面跟的goods_num和goods 可以分别把列表中的两个元素分别赋值 。
    21             print(goods_num, '--------', goods)    # enumerate的作用只有一个,那就是加序号。编号并不等于索引,两者没关联。
    22         usr_choice = input('请选择您要购买的商品序号【Q退出】:')     # 将用户选择的序号赋值给usr_choice变量。
    23         if usr_choice.isdigit():    # 判断用户是否输入数字
    24             usr_choice = int(usr_choice)    # 把字符串改成数字
    25             if usr_choice > 0 and usr_choice <= len(product_list):    # 判断用户选择的序号是否超过商品序号或者是负数。
    26                 c_item = product_list[usr_choice - 1]   # 这里c_item表示用户选择的商品,含品名与价格。那么为什么后面的列表索引减1,因为程序是从0开始,用户看到的是从1开始的编号,因此要减1才符合程序所识别的正确位置(索引)
    27                 if c_item[1] < saving:   # c_item[1]代表该商品价格,1代表所在列表的第2个元素,而此处第2个元素为该商品价格。
    28                     saving -= c_item[1]     # 如果商品价格不超过saving(购物卡),那么就用购物卡金额减去商品价格。
    29                     shop_car.append(c_item)     # 将c_item 追加至购物车。这里c_item表示用户选择的商品,含品名与价格。
    30                     print('---------当前购物车---------')
    31                     for i in shop_car:
    32                         print(i)
    33                     print('余额:%s元'%saving)
    34                 else:
    35                     print('余额不足!当前余额:%s元'%saving)
    36                     print('---------您已购买如下商品---------')
    37                     for i in shop_car:
    38                         print(i)
    39                     print('您还剩%s元!' % saving)
    40                     while True:
    41                         add_money = input('是否充值,“是” 请输入充值金额,“否” 请按Q退出(回车确认):')
    42                         if add_money.isdigit():
    43                             add_money = int(add_money)
    44                             new_saving = 0
    45                             new_saving = saving + add_money
    46                             saving = new_saving
    47                             print('充值成功,当前余额%s元!'%saving)
    48                             break
    49                         else:
    50                             print('请按要求输入!')
    51 
    52             else:
    53                 print('请输入商品范围的序号!')    # 如果选择的序号不在所提供范围,弹出提示。
    54 
    55         elif usr_choice == 'q':     # 如果用户输入q,那么程序结束运行,打出欢迎下次光临。
    56             print('---------您已购买如下商品---------')
    57             for i in shop_car:
    58                 print(i)
    59             print('您还剩%s元!'%saving)
    60             print('---------欢迎下次光临---------')
    61             break
    62         else:
    63             print('序号请输入数字!')
    64 
    65 else:
    66     input('钱请输入数字,OK?')
  • 相关阅读:
    好用的开源库(一)——MaterialEditText
    Android开发——Notification通知的各种Style详解
    Android开发——Notification通知的使用及NotificationCopat.Builder常用设置API
    【转】Android开发笔记(序)写在前面的目录
    【转】NotificationCopat.Builder全部设置
    Git的简单的基本使用
    Android开发——BroadcastReceiver广播的使用
    【转】Android 开发规范(完结版)
    Android开发——使用intent传递对象
    【升级至sql 2012】sqlserver mdf向上兼容附加数据库(无法打开数据库 'xxxxx' 版本 611。请将该数据库升级为最新版本。)
  • 原文地址:https://www.cnblogs.com/cbl321/p/8447706.html
Copyright © 2020-2023  润新知