购物车--用户和商户入口

python学习网 2017-10-09 13:31:02
'''
用户入口:
1、商品信息存在文件里
2、已购商品和余额记录在文件里

商户入口:
1、添加商品
2、修改商品名称和价格
3、删除商品

备注:需要新建shop文件和购物车文件,其中shop文件保存商品信息,购物车是保存用户购买商品信息
'''
import os

def memu(num):
if os.path.getsize("shop"):
with open("shop","r",encoding="utf-8") as f:
print("------------商品------------")
for index,line in enumerate(f):
if line.strip() == "":
continue
index -= 1
line = eval(line)
info2 = '''
{_index}、{_name},价格:{_price}
'''.format(_index = index + 1,
_name = line["name"],
_price = line["price"])
print(info2)
else:
print("当前无商品")
if num == 1:
exit()

def shopping_list():
sum = 0
flag = 0
with open("购物车", "r+", encoding="utf-8") as f:
for temp in f:
if temp.strip() == "":
continue
temp = eval(temp)
sum += temp["price"]
info2 = '''
商品:{_name},价格:{_price}
'''.format(_name=temp["name"],
_price=temp["price"])
if flag == 0:
print("---------购物清单---------")
print(info2)
flag = 1
print("总计金额: %d" % sum)
def calculate(m,p):
return m - p


def user(_momey):
choose = input("输入你要购买商品的编号 >>>:")
if choose.isdigit():
choose = int(choose)
elif choose == 'q':
shopping_list()
exit()
else:
print("输入错误")
f = open("shop", "r", encoding="utf-8")
content = f.readlines()
for i in range(len(content)):
if choose - 1 == i:
content[i] = eval(content[i])
surplus = calculate(_momey,content[i]["price"])
if surplus >= 0:
_momey = surplus
print("%s已加入购物车,你的当前余额为:\033[32;1m %d \033[0m "%(content[i]["name"],_momey))
save(content[i])
return _momey
else:
print("\033[31;1m 你的余额不足,当前余额为:%d \033[0m"%_momey)
return _momey
f.close()
def save(d):
with open("购物车","a+",encoding="utf-8") as f:
f.write(str(d) + '\n')

def deposit():
while True:
momey = input("输入你的存款金额 >>>:")
if momey.isdigit():
momey = int(momey)
return momey
elif momey == 'q':
exit()
else:
print("存款输入错误")
continue

def add_shop():
with open("shop","a+",encoding="utf-8") as f:
dict = {}
name = input("输入你要添加的商品名称 >>>")
price = input("输入商品的价格(正整数) >>>")
if price.isdigit():
price = int(price)
dict["name"] = name
dict["price"] = price
f.write(str(dict) +'\n')
print("\033[31;1m 添加商品成功 \033[0m")

def modify_shop():
list = []
f = open("shop", "r+", encoding="utf-8")
content = f.readlines()
num = input("请输入你要修改的商品编号 >>>")
if num.isdigit():
num = int(num)
else:
print("输入错误")
for i in range(len(content)):
if num - 1 == i:
content[i] = eval(content[i])
choose = input("请输入你要修改商品的信息1、名称,2、价格 >>>")
if choose.isdigit():
choose = int(choose)
else:
print("输入错误")
if choose == 1:
name = input("请输入修改后的商品名称 >>>")
content[i]["name"] = name

elif choose == 2:
price = input("请输入修改后的商品价格 >>>")
if price.isdigit():
price = int(price)
content[i]["price"] = price

else:
print("输入错误")
list.append(content[i])
f.truncate(0)
f.close()
with open("shop", "a+", encoding="utf-8") as f1:
for temp in list:
f1.write(str(temp))
print("\033[31;1m 修改商品成功 \033[0m")

def del_shop():
list = []
f = open("shop", "r+", encoding="utf-8")
content = f.readlines()
num = input("请输入你要删除的商品编号 >>>")
if num.isdigit():
num = int(num)
else:
print("输入错误")

for i in range(len(content)):
if num - 1 == i:
continue
list.append(content[i])
f.truncate(0)
f.close()
with open("shop", "a+", encoding="utf-8") as f1:
for temp in list:
f1.write(temp)
print("\033[31;1m 删除商品成功 \033[0m")

def main():
res = input("请输入你的选择:1、用户,2、商户 >>>")
if res.isdigit():
res = int(res)
if res == 1:
momey = deposit()
while True:
memu(res)
momey = user(momey)
elif res == 2:
while True:
memu(res)
res1 = input("请输入你的选择:1、添加,2、修改,3、删除 >>>")
if res1.isdigit():
res1 = int(res1)
if res1 == 1:
add_shop()
elif res1 == 2:
modify_shop()
elif res1 == 3:
del_shop()
else:
print("输入错误")
elif res1 == 'q':
exit()
else:
print("输入错误")
elif res == 'q':
exit()
else:
print("输入错误")

while True:
main()
阅读(804) 评论(0)