python购物车实现的功能,python购物车程序实验总结
免费学习推荐:python视频教程
Python 基于文件操作实现购物车
学习Python有一段时间了,想着需要找点东西写下来巩固基础。我看到了购物车,然后想知道我是否可以用我已经学会的知识来实现以下功能。然而,相对简单的实现没有任何意义。只需要几个循环和判断就能写出来,什么都不用。所以不知道能不能进一步修改,做个优化。刚学会的文件操作可以存储一些信息。所以,优化的思想是存在的。废话不多说,编码吧。
# coding : utf-8 # author 3360 w _ UImportTime #获取当前时间函数,用于显示事务时间和当前时间def get _ time () 3360。
now _ time=time . strftime( % y-% m-% d % h :% m :% S )
Now _ time #定义中间媒体user _ information={ } user _ salary={ } admin _ information={ } shopping _ list=[]add _ product=[]shopping _ car=[]Print( * * 25 欢迎光临。True:时居中(0) * * * 25)
打印(当前时间是: \ 033[32;1m % s \ 033[0m % get _ time()]
Print(你是用户还是商家:\n 1。用户\n 2。商人’)
而True:
user_choose1=输入( : )
#因为用户输入不可靠,下面就来说说如何判断用户输入信息!以下都是真的。
if user_choose1.isdigit():
用户选择1=int(用户选择1)
如果用户选择1==1:
而True:
打印(请选择注册、登录或注销:\n 1。注册\n 2。登录\n 3。注销’)
user_choose2=input( )
if user_choose2.isdigit():
用户选择2=int(用户选择2)
如果用户选择2==1:
用户名=输入(请输入用户名:)
密码=输入(“请输入密码:”)
user _ information[username]=password #将用户注册信息以字符串的形式存储在字典和文件中。因为写入模式会覆盖原始信息,所以我们选择通过追加来打开文件。
with open(user_information , a ,encoding=utf-8) as f:
f.write(str(用户信息))
#判断输入的工资是否是纯数字,因为工资不可能是字母
而True:
薪金=输入(请输入薪金:)
if salary.isdigit():
薪金=int(薪金)
User_salary[username]=salary #将用户输入的工资绑定到印度的两个用户名,登录查看用户的工资。
与ope一起
n("user_salary", 'a+', encoding="utf-8") as f:
f.write(str(user_salary))
break
else:
print("非法字符!请重新输入!")
elif user_choose2 == 2:
username_input = input("请输入用户名:")
password_input = input("请输入密码:")
with open("user_information", 'r+', encoding="utf-8") as f:
data = f.read()
# 使用eval函数将文件读取的字符串形式转换为为字典
user_information = eval(data)
if user_information[username_input] == password_input:
print("登陆成功!")
print("*" * 25 + "欢迎光临本店".center(0) + "*" * 25)
# 获取用户工资
with open("user_salary", 'r+', encoding="utf-8") as f:
data1 = f.read()
user_salary = eval(data1)
print(f"你现在的工资为\033[32;1m{user_salary[username_input]}\033[0m")
# 获取购物车的信息并打印
with open("shopping_list", 'r+', encoding="utf-8") as f:
data2 = f.read()
shopping_list = eval(data2)
while True:
for item in enumerate(shopping_list):
print(item)
user_choose3 = input("老板买点啥:")
if user_choose3.isdigit():
user_choose3 = int(user_choose3)
for i in range(0, len(shopping_list) + 1):
if user_choose3 == i:
shopping_car.append(shopping_list[user_choose3][0])
shopping_time = get_time()
print("购买\033[32;1m %s\033[0m* 1" % shopping_list[user_choose3][0])
print("交易时间:\033[32;1m %s\033[0m* 1" % shopping_time)
# 将用户购买的物品存入到购物车文件里,并且记录交易时间
with open("shopping_car", 'a+', encoding="utf-8") as f:
f.write(str(shopping_car))
f.write(str(shopping_time))
# 购买商品的花费,需要更新购买后用户的工资
if user_salary[username_input] >= int(shopping_list[user_choose3][1]):
user_salary[username_input] = user_salary[username_input] - int(
shopping_list[user_choose3][1])
print(f"剩余工资:\033[33;1m{user_salary[username_input]}\033[0m")
# 购买后用户所剩下的工资重新写入到文件里
with open("user_salary", 'r+', encoding="utf-8") as f:
f.write(str(user_salary))
while True:
user_choose4 = input("您需要继续购买吗?\n 1.继续购物\n 2.退出\n")
if user_choose4.isdigit():
user_choose4 = int(user_choose4)
if user_choose4 == 1:
break
else:
print("*" * 25 + "购物车".center(0) + "*" * 25)
print(shopping_car)
print(
f"剩余工资:\033[33;1m{user_salary[username_input]}\033[0m")
exit()
else:
print("该用户不存在!")
elif user_choose2 == 3:
exit()
else:
print("输入错误,请重新输入!")
elif user_choose1 == 2:
# 这里设置商家是一个管理员的模式,所以商家不用注册直接登陆查看
print("请先登录:")
admin_input = input("请输入用户名:")
admin_password_input = input("请输入密码:")
with open("admin_information", 'r+', encoding="utf-8") as f:
data = f.read()
admin_information = eval(data)
# 校验信息
if admin_information[admin_input] == admin_password_input:
print("*" * 25 + "欢迎进入管理系统".center(0) + "*" * 25)
print("以下是现货架上商品有")
with open("shopping_list", 'r+', encoding="utf-8") as f:
data2 = f.read()
shopping_list = eval(data2)
for item in enumerate(shopping_list):
print(item)
while True:
admin_choose = input("是否需要添加商品:\n 1.添加商品 \n 2. 退出 \n >>>:")
if admin_choose.isdigit():
admin_choose = int(admin_choose)
if admin_choose == 1:
add_product_name = input("请输入商品名:")
add_product_price = input("请输入价格:")
add_product.append(add_product_name)
add_product.append(add_product_price)
shopping_list.append(add_product)
with open("shopping_list", 'r+', encoding="utf-8") as f:
f.write(str(shopping_list))
elif admin_choose == 2:
print("感谢使用!")
exit()
else:
print("输入错误")
else:
print("输入错误!")写到这,实现基本的功能还是没有问题的,可以将用户信息、商家信息等等等等存入文件里,下次再需要使用的时候直接从文件里调用出来,就不用像平常的运行一遍输入一遍啦,用户的工资也是可以保存的,商家可以像货架上添加商品。商家是作为管理员的角色,所以初始的账号密码是固定存在一个文件里。本来想添加一个修改商家信息,但是想想还是一样的操作,就直接省了这一步。
大量免费学习推荐,敬请访问python教程(视频)以上就是讲解Python 基于文件操作实现购物车的详细内容,更多请关注盛行IT软件开发工作室其它相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。