zoukankan      html  css  js  c++  java
  • 实现购物车功能 --- 文件操作版

    1.用户接口

    >>>判断用户工资是否有记录

    >>>能够从文件中读取商品列表

    >>>能够选择想要的商品,并扣除工资

    >>>打印并保存订单信息以及工资余额

    2.商家接口

    >>>能够读取商品列表

    >>>能够修改商品价格并保存

    >>>能够添加商品并保存

    >>>能够删除商品并保存

    3.代码实现

    shopping_cart.py

    '''实现购物城功能---文件操作版'''
    # 接口 cart_user 和 cart_merchant
    
    role = input('请输入你要进入的角色接口(user/merchant)')
    if role == 'user':
        from day2 import cart_user
    elif role == 'merchant':
        from day2 import cart_merchant
    else:
        print("你输入的角色接口有误!")

    cart_user.py

    '''实现购物车功能 --- 用户接口'''
    
    # 获得商品列表
    def get_product():
        product_list = []
        with open('product.txt', 'r') as f:
            for i in f.readlines():
                i = i.replace('
    ', '')
                product_list.append(i.split(':'))
            return product_list
    
    
    # 保存商品列单及余额
    def save_product(goods_order_salary):
        with open('shopping.txt', 'a') as f:
            f.write(goods_order_salary + '
    ')
    
    
    # 读取工资
    def read_salary():
        with open('shopping.txt', 'r') as f:
            data = f.read()
            return data
    
    # 判断 salary 是否有记录
    data = read_salary()
    if 'balance' in data:
        salary = data.split(':')[-1]
        print('您目前的余额为:'+salary)
    else:
        salary = input("请输入你的工资:")
    
    # 主程序
    shopping_list = []
    # if salary.isdigit():
    salary = int(salary)
    while True:
        product_list = get_product()
        for index, item in enumerate(product_list):
            print(index, item)
        user_choice = input('选择你想要的产品:')
        if user_choice.isdigit():
            user_choice = int(user_choice)
            if user_choice < len(product_list) and user_choice >= 0:
                p_item = product_list[user_choice]
                p_item[1] = int(p_item[1])
                if p_item[1] <= salary:
                    shopping_list.append(p_item)
                    salary -= p_item[1]
                    print('Added %s into shopping cart.your present balance is 33[31;1m%s33[0m' % (p_item, salary))
                    save_product(str(p_item))
                else:
                    print('33[41;1m你的余额只剩[%s]啦,还买个毛线33[0m' % salary)
            else:
                print('product code [%s] is not exist!' % user_choice)
        elif user_choice == 'q':
            print('--------shopping list-----------')
            for p in shopping_list:
                print(p)
            print('Your current balance:', salary)
            save_product('
    your present balance is :' + str(salary) + '
    ')
            exit()
        else:
            print('invalid option')

    cart_merchant.py

    '''实现购物车功能 --- 商家接口'''
    
    # 获得商品列表
    def get_product():
        product_list = []
        with open('product.txt', 'r') as f:
            for i in f.readlines():
                i = i.replace('
    ', '')
                product_list.append(i.split(':'))
            return product_list
    
    # 保存商品
    def save_product(product_list):
        with open('product.txt','w') as f:
            for i in product_list:
                i = str(i).replace('[', '')
                i = str(i).replace(']', '')
                i = str(i).replace(' ', '')
                f.write(i+'
    ')
    
    
    product_list = get_product()
    
    while True:
        for index,item in enumerate(product_list):
            print(index,item)
        choice = input('请输入要修改的商品序号||按a添加||按q退出:')
        if choice.isdigit():
            choice = int(choice)
            p_item = product_list[choice]
            print(p_item)
            price = input("请输入修改后的价格:")
            product_list[choice][1] = price
            print(product_list)
            save_product(product_list)
            print("修改成功!")
        elif choice == 'a':
            name = input('请输入你要添加的商品名称:')
            price = input('请输入你要添加的商品价格:')
            add_pro = [name,price]
            product_list.append(add_pro)
            print(product_list)
            save_product(product_list)
            print('添加成功!')
        elif choice == 'q':
            exit()
        else:
            print("输入无效!")
  • 相关阅读:
    weekly review 200930: Battlestar Galactica
    weekly review 200926: loss memory
    weekly review 200924: LOST
    转贴:对话守则
    weekly review 200928: Return
    推荐:继续聚焦小升初——破解奥数迷题
    Centos+Nginx部署Vue项目
    centos7安装nginx
    flaskmigrate 处理sqlite数据库报错Constraint must have a name 的解决方案
    将阿里矢量图添加到elementui
  • 原文地址:https://www.cnblogs.com/petrolero/p/8992411.html
Copyright © 2011-2022 走看看