实现购物车功能 --- 文件操作版

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('\n', '')
            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 + '\n')


# 读取工资
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 \033[31;1m%s\033[0m' % (p_item, salary))
                save_product(str(p_item))
            else:
                print('\033[41;1m你的余额只剩[%s]啦,还买个毛线\033[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('\nyour present balance is :' + str(salary) + '\n')
        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('\n', '')
            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+'\n')


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("输入无效!")

 

posted @ 2018-05-04 20:32  petrolero  阅读(184)  评论(0编辑  收藏  举报