Python购物车练习题

购物车功能要求:要求用户输入总资产,例如: 2000显示商品列表,让用户根据序号选择商品,
加入购物车购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
把显示商品和加入购物车,结算,三个功能定义成三个函数,进行调用
goods=[ {"name":"电脑","price":1999},
         {"name":"鼠标","price":10},
         {"name":"游艇","price":20},
         {"name":"美女","price":998}
]
carInfo = {} #存储购买数量和商品价格
Car = [] #追加购物车的内容至列表便于计算
def goodsInfo(): #显示商品信息
    for i in goods: #遍历goods列表中的每一个元素
        Num = goods.index(i) + 1 #将元素下标值+1,定义商品序号
        print('序号%d代表:%s,价格为%.2f元' % (Num,i['name'], i['price']))#由于元素都是键值对,所以可用i[]直接取值

def shopCar(): #购物车
    while True:
        num = int(input('请输入需要加入购物车的商品序号:'))
        if 0<num<=len(goods): #
            multiple = int(input('请输入需要购买商品%d的数量:' % num))
            if multiple>0:
                carInfo[multiple]=goods[num-1]['price']  #将输入的购买数量和商品价格作为键值对存入字典中
            else:
                print('您输入的商品数量有误,请重新输入')
            ask = input('是否继续添加商品至购物车?y/n:')
            if ask == 'y':
                continue
            else:
                print('结束购物车添加,进入结算环节')
                break
    Car.append(carInfo)#将所有字典写入列表Car中,存储购物车序号及购买数量

def settlement():#结算
    money = 0
    num = list(carInfo.keys())  # 将所有序号的值赋给列表num
    price = list(carInfo.values())  # 将所有数量的值赋给列表price
    for i in range(len(num)):
        money = money + num[i] * price[i]
    print('需结算商品总价格为:%d元'%money)

goodsInfo()
shopCar()
settlement()

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是丸子丫

大佬们来个1毛钱以资鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值