作业 - 购物车

作业 - 购物车

# 作业二:请闭眼写出购物车程序
# 需求:
# 用户名和密码存放于文件中,格式为:egon|egon123
# 启动程序后,先登录,登录成功则让用户输入工资,然后打印商品列表,失败则重新登录,超过三次则退出程序
# 允许用户根据商品编号购买商品
# 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
# 可随时退出,退出时,打印已购买商品和余额

product_list = [['Iphone7',5800],
                ['Coffee',30],
                ['疙瘩汤',10],
                ['Python Book',99],
                ['Bike',199],
                ['ViVo X9',2499],
                ]

with open('file.txt','w',encoding='utf-8')as f:
    f.write('eric|123')

login_flag = False
shopping_cart = []
count = 0
while count < 3:
    print('请选择你的操作 \n 1. 登入\n 2. 购物\n 3. 退出')

    key = int(input('>>> '))

    if key == 1:
        username = input('请输入姓名>>>: ')
        password = input('请输入密码>>>: ')
        with open('file.txt','r',encoding='utf-8')as f:
            content = f.readlines()
            for i in content:
                usn,pwd = i.strip().split('|')
                if username == usn and password == pwd:
                    print('登入成功')
                    sal = int(input('请输入工资>>>: '))
                    login_flag = True
                else:
                    print(f'账户名或密码错误{count + 1}次,请重新登入,三次会退出程序')
                    count += 1

    if key == 2:
        if not login_flag:
            print('请先登入再操作哟~')
            continue
        print('以下是商品列表')
        for id, product in enumerate(product_list,1):
            print(f'编号: {id} 商品: {product[0]} 售价: {product[-1]}')
        pick_p = input('请选择商品>>>: ')
        if sal >= (p_price := product_list[int(pick_p)-1][-1]):
            sal -= p_price
            shopping_cart.append(product_list[int(pick_p)-1][0])
        else:
            print(f'您得账户余额不够哟,剩余{sal}')

    if key == 3:
        print(f'您的购物清单为{shopping_cart},余额为{sal}')
        break

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值