1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > python商家入口_购物车--用户和商户入口

python商家入口_购物车--用户和商户入口

时间:2020-08-07 22:40:02

相关推荐

python商家入口_购物车--用户和商户入口

'''

此模块需要使用用户登陆模块代码

用户入口:

1、输入用户名和密码

2、商品信息存在文件里

3、已购商品和余额记录在文件里

注:用户购买商品后退出,再次登陆会自动读取上次用户的余额

商户入口:

1、添加商品

2、修改商品名称和价格

3、删除商品

备注:需要新建shop文件和购物车文件,其中shop文件保存商品信息:

'''

import os

import userLogin

import types

def read_info(_name):

if os.path.getsize("购物车"):

remaining = 0

with open("购物车","r",encoding="utf-8") as f:

for line in f:

if line.strip() == "":

continue

line = eval(line)

if line["name"] == _name:

remaining = line["shopping"][2]

if remaining > line["shopping"][2]:

remaining = line["shopping"][2]

if remaining == 0:

return None

else:

return remaining

else:

return None

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}、{_goods},价格:{_price}

'''.format(_index = index + 1,

_goods = line["goods"],

_price = line["price"])

print(info2)

else:

print("当前无商品")

if num == 1:

exit()

def shopping_list(name):

sum = 0

flag = 0

with open("购物车", "r+", encoding="utf-8") as f:

for temp in f:

if temp.strip() == "":

continue

temp = eval(temp)

if temp["name"] == name:

sum += temp["shopping"][1]

info2 = '''

商品:{_goods},价格:{_price}

'''.format(_goods=temp["shopping"][0],

_price=temp["shopping"][1])

if flag == 0:

print("---------购物清单---------")

print(info2)

flag = 1

print("总计金额: %d" % sum)

def user(_momey,name):

choose = input("输入你要购买商品的编号 >>>:")

if choose.isdigit():

choose = int(choose)

elif choose == 'q':

shopping_list(name)

exit()

else:

print("输入错误")

res = read_info(name)

if res != None:

_momey = res

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 = _momey - content[i]["price"]

if surplus >= 0:

_momey = surplus

print("\033[33;1m %s \033[0m 已加入购物车,你的当前余额为:\033[32;1m %d \033[0m "%(content[i]["goods"],_momey))

save(content[i],name,_momey)

return _momey

else:

print("\033[31;1m 你的余额不足,当前余额为:%d \033[0m"%_momey)

return _momey

f.close()

def save(d,name,momey):

dict = {}

dict["name"] = name

dict["shopping"] = [d["goods"],d["price"],momey]

with open("购物车","a+",encoding="utf-8") as f:

f.write(str(dict) + '\n')

def deposit(name):

while True:

res = read_info(name)

if res == None:

momey = input("输入你的存款金额 >>>:")

else:

momey = res

print("\033[34;1m %s你好,你的当前余额是:%d \033[0m"%(name,momey))

return momey

if type(momey) != type(1):

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 = {}

goods = input("输入你要添加的商品名称 >>>")

price = input("输入商品的价格(正整数) >>>")

if price.isdigit():

price = int(price)

dict["goods"] = goods

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:

goods = input("请输入修改后的商品名称 >>>")

content[i]["goods"] = goods

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 main1(name):

res = input("请输入你的选择:1、用户,2、商户 >>>")

if res.isdigit():

res = int(res)

if res == 1:

momey = deposit(name)

while True:

memu(res)

momey = user(momey,name)

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("输入错误")

if __name__ == "__main__":

while True:

userLogin.main()

'''

-------用户登陆模块代码------

'''

'''

先创建user、lock文件,user存储账号密码,用于登录时判断,lock文件为账号错误3次后,冻结

user内容格式为:

{'name':'zhangsan','passwd':'123'}

{'name':'lisi','passwd':'123'}

{'name':'wangwu','passwd':'123'}

'''

import os

import shopping

def lock(_name):

'''判断一个用户是否冻结'''

if os.path.getsize("lock"):

with open("lock","r") as f:

for line in f:

if line.strip() == "":

continue

line = eval(line)

if line["name"] == _name and line["num"] == 3:

return 0

else:

return -1

else:

return -1

def clear_lock():

'''当程序退出时,删除非冻结的账号信息'''

list = []

with open("lock","r+") as f:

for line in f:

if line.strip() == "":

continue

line = eval(line)

if line["num"] == 3:

list.append(line)

f.truncate(0)

with open("lock","w") as f1:

for i in list:

f1.write(str(i) + '\n')

def login(_name,_passwd):

'''用户登陆'''

with open("user","r") as f:

flag = 0

for line in f:

if line.strip() == "":

continue

line = eval(line)

if line["name"] == _name:

if line["name"] == _name and line["passwd"] == _passwd:

return 0

else:

return 1

return -1

def write_lock(_name):

'''将输入错误的账号写入lock文件'''

#文件不为空

if os.path.getsize("lock"):

list = []

with open("lock","r+") as f:

flag = 0

for line in f:

if line.strip() == "":

continue

line = eval(line)

#判断账号是否存在

if line["name"] == _name:

line["num"] += 1

list.append(line)

else:

dict2 = {}

dict2["name"] = _name

dict2["num"] = 1

list.append(dict2)

with open("lock","w") as f1:

for i in list:

f1.write(str(i) + '\n')

#空文件直接写入

else:

list1 = []

dict1 = {}

dict1["name"] = _name

dict1["num"] = 1

list1.append(str(dict1))

with open("lock","w") as f2:

for j in list1:

f2.write(str(j) + '\n')

def main():

name = input("用户名:")

res = lock(name)

if res == 0:

print("%s已被冻结,请联系管理员"%name)

clear_lock()

exit()

passwd = input("密码:")

res1 = login(name,passwd)

if res1 == 0:

print("欢迎%s登陆CBD购物中心"%name)

while True:

shopping.main1(name)

elif res1 == 1:

print("密码错误")

write_lock(name)

else:

print("账号不存在")

res2 = lock(name)

if res2 == 0:

print("%s已被冻结,请联系管理员" %name)

clear_lock()

exit()

if __name__ == "__main__":

while True:

main()

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。