python3简单购物车程序的实现

python3简单购物车程序的实现

1、代码部分
# Auther:bentou

salary=input("salary:")  #用户输入可供支付的预期
goods=[("iphone 11",1200),("coffee",24),("ipad",3700)] #商品列表

'''
和enumerate()方法的功能一样,打印index下标
while True:
    for item in goods:
        print(goods.index(item),item)

    break
'''

shopping_car=[] #定义一个空列表,用来装需要放到购物车的商品
while True: #循环开始了
    for index,item in enumerate(goods): #enumerate()方法的作用:打印下标
        print(index,item) #每次循环都打印一下下标和商品
    choice=input("选择要买吗:") #本意是让用户选择下标(序号),用户退出的时候显示一共多少钱,钱不够的时候显示余额不足
    if choice.isdigit() : #当用户输入的值是0-9之间的阿拉伯数字
        choice=int(choice) #强制转换成数字
        if choice<len(goods) and choice>=0: #数字在食品列表范围内
            p_item=goods[choice] #让p_item等于用户选的那个商品元素
            if p_item[1]<= int(salary): #如果买得起,也就是售价之和小于工资
                shopping_car.append(p_item) #就把这个商品加入提前定义的空列表
                salary=int(salary)-p_item[1] #工资减去这个加购商品的价格
                print("Added %s into car,your current balance is %s" %(p_item,salary)) #告诉客户加了什么到购物车以及余额是多少
            else: #工资不够了,跳出循环
                print("Not enough!")
                break
        else:#商品列表没有这个商品
            print("no such goods")
    elif choice=="q":  #退出购物车了,告诉用户加了啥和余额多少
        print("------shopping car-------")
        for i in shopping_car:
            print(i)
        print("your current balance:",salary)
        break
    else: #输入不符规则
        print("invalid")
2、结果输出
salary:3000
0 ('iphone 11', 1200)
1 ('coffee', 24)
2 ('ipad', 3700)
选择要买吗:1
Added ('coffee', 24) into car,your current balance is 2976
0 ('iphone 11', 1200)
1 ('coffee', 24)
2 ('ipad', 3700)
选择要买吗:0
Added ('iphone 11', 1200) into car,your current balance is 1776
0 ('iphone 11', 1200)
1 ('coffee', 24)
2 ('ipad', 3700)
选择要买吗:q
------shopping car-------
('coffee', 24)
('iphone 11', 1200)
your current balance: 1776

在这里插入图片描述

本篇文章如有错的地方,欢迎在评论指正。喜欢在微信看技术文章,可以微信搜索「胡录乱影」,回复【Python】【前端基础】【vue开发】即可获得视频资源,回复【答辩PPT】【演讲PPT】即可获得超级实用PPT模板,还有更多资料,建议后台留言或者直接私信我。

另,如果觉得这本篇文章写得不错,有点东西的话,各位人才记得来个三连【点赞+关注+分享】。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值