1. 程式人生 > >實現購物車功能 --- 文件操作版

實現購物車功能 --- 文件操作版

sent not 判斷 保存 進入 ali 修改 能夠 ret

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("輸入無效!")

實現購物車功能 --- 文件操作版