python之购物车升级1

python之购物车升级1

源码:

li = [{'name':'西瓜','price':30},{'name':'苹果','price':10},{'name':'香蕉','price':20}]
print('欢迎光临')
shopping_car = {}
my_money = input('请输入你当前的资金:')
if my_money.isdigit() and int(my_money) >0:
    for i,k in enumerate(li):
        print('序号{},商品{},价格{}'.format(i,k['name'],k['price']))
    choose = input('请输入您要购买的商品序号:')
    if choose.isdigit() and int(choose) < len(li):
        num = input('你要购买的商品数量:')
        if num.isdigit():
            if int(my_money) > li[int(choose)] ['price']*int(num):
                my_money = int(my_money) - li[int(choose)] ['price']*int(num)
                if li[int(choose)]['name'] in shopping_car:
                    shopping_car[li[int(choose)]['name']]= shopping_car[li[int(choose)]['name']]+int(num)
                else:
                    shopping_car[li[int(choose)]['name']]= int(num)
                print('购物车的商品有{},您的余额为{}'.format(shopping_car,my_money))
            else:
                print('你的余额不足')
    else:
        print('请输入有效的序号')

  #注释:

li = [{'name':'西瓜','price':30},{'name':'苹果','price':10},{'name':'香蕉','price':20}]
#创建商品列表,赋值给li
print('欢迎光临')
shopping_car = {}
#创建购物车字典,当你选择好购买的商品后就写入
my_money = input('请输入你当前的资金:')
#输入你当前身上的金额,当你选择好商品及数量,会做相应的金额冲减
if my_money.isdigit() and int(my_money) >0:
#条件输入的金额必须是数字及大于0,才允许继续下一步操作
    for i,k in enumerate(li):
#把li的列表里的字典键值对转换成 序号和名称赋值给i和k
        print('序号{},商品{},价格{}'.format(i,k['name'],k['price']))
#格式化输出序号,商品,价格
    choose = input('请输入您要购买的商品序号:')
#当你输入商品序号后,赋值给choose
    if choose.isdigit() and int(choose) < len(li):
#序号必须是数字,且小于li列表长度
        num = input('你要购买的商品数量:')
#输入购买数量并赋值给num
        if num.isdigit():
#条件num值必须是数字才允许下一步操作
            if int(my_money) > li[int(choose)] ['price']*int(num):
#条件当你的金额大于>所选商品价格*数量,就继续下面的动作
                my_money = int(my_money) - li[int(choose)] ['price']*int(num)
#当前金额减去你所购买的商品价格及数量,等于剩余金额
                if li[int(choose)]['name'] in shopping_car:
#把你所选择的商品写入购物车字典key值
                    shopping_car[li[int(choose)]['name']]= shopping_car[li[int(choose)]['name']]+int(num)
#把你所选择的商品数量写入购物车字典value值
                else:
                    shopping_car[li[int(choose)]['name']]= int(num)
#如果字典中已经有了商品名称key值,就写入数量,意思就是不重复添加商品,只修改数量
                print('购物车的商品有{},您的余额为{}'.format(shopping_car,my_money))
#输出你所购买的商品,及余额
            else:
                print('你的余额不足')
#‘当你的金额小于商品总价格,就提示余额不足’
    else:
        print('请输入有效的序号')
#如果你输入的序号不是商品列表中的len(li)则提示请输入有效的序号

  

posted @ 2020-04-05 17:52  CTF_无白  阅读(163)  评论(0编辑  收藏  举报