PYTHON学习第一模块 购物车模拟

购物车模拟

 

需求:

  • 用户入口
  1. 商品信息存在文件里
  2. 已购商品,余额记录
  • 商家入口
  1. 可以添加商品,修改商品价格

 

说明:

  • python版本为3.6
  • 用户入口及商户入口的菜单列表均存在goods_list文件中。

 

代码:

商家入口:

# /usr/bin/env python
# -*- coding: utf-8 -*-
# AUTHOR:Fio
import os
Goods_list = []


def add_good():
    goods_name_input = input("输入新增商品的名称:")
    goods_price_input = input("输入新增商品的价格:")
    goods_add = [goods_name_input, goods_price_input]
    Goods_list.append(goods_add)
    print("新增商品后的菜单:")
    for index, item in enumerate(Goods_list):
        print(index, item)
    with open('./goods_list_tmp', 'w') as goods2:
        for count in range(len(Goods_list)):
            goods2.write("%s " % (Goods_list[count][0]))
            goods2.write("%s\n" % (Goods_list[count][1]))
    os.remove('./goods_list')
    os.rename('./goods_list_tmp', './goods_list')


def modify_good():
    for index, item in enumerate(Goods_list):
        print(index, item)
    goods_name_input = input("输入需要修改商品的名称:")
    for count in range(len(Goods_list)):
        if Goods_list[count][0] == goods_name_input:
            print("修改前的价格:%s" % Goods_list[count][1])
            goods_price_input = input("输入修改后的价格:")
            Goods_list[count][1] = goods_price_input
    with open('./goods_list_tmp', 'w') as goods2:
        for count in range(len(Goods_list)):
            goods2.write("%s " % (Goods_list[count][0]))
            goods2.write("%s\n" % (Goods_list[count][1]))
    os.remove('./goods_list')
    os.rename('./goods_list_tmp', './goods_list')
    print("修改后的商品价格")
    for index, item in enumerate(Goods_list):
        print(index, item)


if __name__ == "__main__":
    with open('./goods_list', 'r') as goods1:
        for line in goods1:
            Goods_list.append(line.split())
    while True:
        print('''
        ###############################
        #   欢迎进入商家入口:
        #   
        #   1.  新增商品内容
        #   2.  修改商品价格
        ###############################
        ''')
        order_num = input("选择序号:")
        if order_num == '1':
            add_good()
        elif order_num == '2':
            modify_good()
        elif order_num == 'q':
            exit()
        else:
            print("请输入正确的序号")

  用户入口:

# /usr/bin/env python
# -*- coding: utf-8 -*-
# AUTHOR:Fio
Goods = []
Carts = []
with open('./goods_list', 'r') as goods1:
    for line1 in goods1:
        Goods.append(line1.split())


# 记录账户内容
def account():
    with open('./account', 'r') as balance:
        money = balance.read()
        if money == "":
            salary = int(input('输入你的工资:'))
        else:
            with open('./carts', 'r') as carts_record:
                goods = carts_record.read()
                print("您已购买的商品%s" % goods)
            salary = int(money)
            print("您的账户余额%s" % salary)
    return salary


# 购物车操作
def carts(salary):
    while True:
        for index, item in enumerate(Goods):
            print(index, item)
        choice = input('选择您要购买的商品序号:')
        if choice.isdigit():
            goods_num = int(choice)
            if len(Goods) > goods_num >= 0:
                g_item = Goods[goods_num]
                g_price = int(g_item[1])
                if g_price < salary:
                    salary -= g_price
                    Carts.append(Goods[goods_num])
                    print('您购买的商品:\033[31;1m%s\033[0m,您的余额还剩下:\033[31;1m%s\033[0m'
                          % (Goods[goods_num], salary))
                    with open('./carts', 'w') as carts_record:
                        carts_record.write(str(Goods[goods_num]))
                else:
                    print('您已购买的商品:\033[31;1m%s\033[0m,且您的余额\033[31;1m%s\033[0m不足以购买%s.'
                          % (Carts, Goods[goods_num], salary))
                    with open('./account', 'w') as balance:
                        balance.write(str(salary))
                    exit()
        elif choice == 'q':
            print('您已经购买的商品:\033[31;1m%s\033[0m,您还剩下的余额为:\033[31;1m%s\033[0m' % (Carts, salary))
            with open('./carts', 'w') as carts_record:
                carts_record.write(str(Goods[goods_num]))
            with open('./account', 'w') as balance:
                balance.write(str(salary))
            exit()
        else:
            print('请选择购买的商品!')

if __name__ == "__main__":
    Money = account()
    carts(Money)

  

posted on 2017-06-01 21:33  Fio丶  阅读(173)  评论(0)    收藏  举报

导航