• Python学习_第一阶段_购物车


    作业要求

    goods = [ {"name":"电脑","price":"1999"},
              {"name":"鼠标","price":"10"},
              {"name":"游艇","price":"20"},
              {"name":"美女","price":"998"}
     ]
    
    
    功能需求:
        1. 启动程序后, 输入用户名密码后, 让用户输入工资, 然后打印商品列表
        2. 允许用户根据商品编号购买商品
        3. 用户选择商品后, 检查余额是否够, 够直接扣款, 不够就提醒
        4. 可随时退出, 退出时, 打印已购买商品和余额
        5. 在用户使用过程中, 关键输出, 如余额 商品已加入购物车等信息 需要高亮显示
    
    扩张需求:
        1. 用户下一次登录后, 输入用户名密码, 直接回到上次的状态, 即上次消费的余额什么的还是 哪些, 再次登录可继续购买
        2. 允许查询之前的消费记录

    1. 完成作业的基本要求

    #encoding:utf-8
    
    import  sys
    goods = [ {"name":"电脑","price":"1999"},
              {"name":"鼠标","price":"10"},
              {"name":"游艇","price":"20"},
              {"name":"美女","price":"998"}
     ]
    shop_car = []
    user_passwd = 'user_passwd.txt'
    lock_user = 'lock_user.txt'
    
    # 注册
    def register():
        print("欢迎来到注册页面".center(50,'*'))
        user = input("请输入您的用户名:  ")
        passwd = input("请输入您的密码:  ")
        passwd1 = input("请再次输入您的密码:  ")
        if passwd == passwd1:
            with open(user_passwd, 'a+') as f:
                f.write(user+'|'+passwd+'
    ')
                print("账号注册成功".center(50,'*'))
    
    # 登录
    def login(user,passwd):
        with open(user_passwd,'r+') as f:
            for i in  f:
                username, password =i.strip().split('|')
                if username == user  and  password == passwd:
                    print("用户   %s  登录成功".center(50,'*')%(user))
                    return  'login_success'
    # 检查用户
    def check_user(user):
        with open(lock_user,'r') as f:
            for i in f:
                if i.strip() == user:
                    print('%s 被锁定'%(user))
                    sys.exit()
    
    # 购物商场
    def network_shop():
        salary = int(input("请输入你的工资:    ").strip())
        while True:
            print("XXXX商场有如下商品欢迎换购".center(66, '*'))
            for index, shop_name in enumerate(goods):
                print(index, shop_name)
            number = input("请输入商品的编号或者退出(exit)     ").strip().lower()
            if number.isdigit():
                number = int(number)
            elif number =='exit':
                print('退出XXXX网上购物商场')
                if len(shop_car) > 0:
                    print("剩余金额为:",salary)
                    print("您购买的商品为: ")
                    for i in shop_car:
                        print(i)
                break
            else:
                print("
    输入有问题, 请重新选择
    ")
                continue
    
            if int(goods[number]['price']) <= salary:
                shop_car.append(goods[number])
                salary -= int(goods[number]['price'])
                if len(shop_car) > 0:
                    print("您购买的商品为: ")
                    for i in shop_car:
                        print(i)
            elif  int(goods[number]['price']) > salary:
                print("余额不足, 账户剩余金额为: ",salary)
                recharge_memory = input("是否充值:      ").strip().lower()
                if recharge_memory == 'n':
                    if len(shop_car) >0:
                        print("剩余金额为:", salary)
                        print("您购买的商品为: ")
                        for i in shop_car:
                            print(i)
                        break
                elif recharge_memory == 'y':
                    salary +=int(input("请输入你要充值的金额").strip())
                    
    # 登录的主逻辑
    def login_main():
        while True:
            print('欢迎来到XXXXX网上商城'.center(50,'*'))
            have_user  = (input("是有账号,y|n:          ").strip()).lower()
            if have_user == 'y':
                user = input('请输出账号:    ').strip()
                check_user(user)
                passwd = input('请输出密码:    ').strip()
                if login(user, passwd) == 'login_success':
                    return  "login_success"
            elif have_user == 'n':
                new_register = (input("是否注册,y|n:        ").strip()).lower()
                if new_register == 'y':
                    register()
                    continue
                elif new_register == 'n':
                    break
                else:
                    print("输入有问题, 重新输入: ")
                    
    # 启动程序
    def main():
        if login_main() == "login_success":
            network_shop()
    
    if __name__ == '__main__':
        main()
    基本功能需求
  • 相关阅读:
    神经网络层数问题
    matlab入门笔记(六):编程基础之M文件
    工字电感,色环电感,功率电感选型区别
    x电容和Y电容
    nohup.out文件过大解决方法 定时任务清空
    WebRTC的视频解码原理简析
    activemq 安装 部署
    WebRTC信令控制简介与STUN, TURN服务器搭建
    如何搭建WebRTC信令服务器
    ZooKeeper安装和配置
  • 原文地址:https://www.cnblogs.com/augustyang/p/10457968.html
Copyright © 2020-2023  润新知