笔记-8-14-(购物车系统)

本文介绍了一个简单的购物车程序实现过程,用户输入工资后可选购商品,程序会实时更新余额并检查支付能力。使用了 Python 的 enumerate 函数进行列表操作,并通过条件判断控制流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

老男孩14期第二周(购物车程序) 

内容:

  1. 启动程序后,让用户输入工资,然后打印商品列表
  2. 允许用户根据商品编号购买商品
  3. 用户选择商品后,检测余额是否够,够就扣款,不够就提醒
  4. 可随时退出,退出时打印已购买的商品和余额
  • enumerate()函数的用法(参照代码中的用法

  • 字体高亮设置(\033[31;m+想要高亮的内容+\033[0m),其中31表示红色,32表示绿色,其余自行百度,41则表示红色的背景色)

  • 一种书写方式:做判断时可以先整体思路先写出,if  ...  :  pass   else  : ....  然后再补充True部分和False部分(这样思路会比较清晰)

  • exit()会直接退出循环,括号内可添加

goods = [

    ["Iphone", 5000],
    ["Compute", 4333],
    ["Bike", 800],
    ["Books", 50],
    ["My Pro", 9800],
    ["Camera", 6500],
]
lst = []

salary = int(input('\033[31;m请输入你的工资:\033[0m'))

while True:

    for index, good in enumerate(goods):#enumerate()的用法,index是指下标(从0开始)
        print(index, good)

    nums = input("\033[31;m请输入想购买的商品编号:\033[0m")
    if nums.isdigit():  # 判断nums是不是数字类型
        nums = int(nums)

        if len(goods) > nums >= 0:  # 判断编号有没有超过上限
            price = goods[nums][1]
            product = goods[nums]

            if salary >= price:  # 判断能不能买起
                salary -= price
                lst.append(product)
                print('\033[31;m当前商品购买成功\033[0m')
                print('\033[33;m当前余额为:%s\033[0m' % salary)
            else:
                print("\033[31;1mYou balance is not enough!\033[0m\n" +
                      '----------shopping car-----------')
                for i in lst:
                    print(i)
                break

        else:
            print("The goods not exist!")

    elif nums == 'q':
        print('--------------shopping-----------')
        for i in lst:
            print('%s\t' % i)
            exit()
    else:
        print('Input Error')

 运行结果:

请输入你的工资:10000
0 ['Iphone', 5000]
1 ['Compute', 4333]
2 ['Bike', 800]
3 ['Books', 50]
4 ['My Pro', 9800]
5 ['Camera', 6500]
请输入想购买的商品编号:0
当前商品购买成功
当前余额为:5000
0 ['Iphone', 5000]
1 ['Compute', 4333]
2 ['Bike', 800]
3 ['Books', 50]
4 ['My Pro', 9800]
5 ['Camera', 6500]

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值