购物车模拟
需求:
用户入口
商品信息存在文件里
已购商品,余额记录
商家入口
可以添加商品,修改商品价格
说明:
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)