import os
goods = [
{"name": "电脑", "price": 1999},
{"name": "鼠标", "price": 10},
{"name": "游艇", "price": 20},
{"name": "美女", "price": 998},
]
# 基本需求:75%
# 1. 启动程序后,输入用户名密码后,让用户输入工资,然后打印商品列表
# 2. 允许用户根据商品编号购买商品
# 3. 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
# 4. 可随时退出,退出时,打印已购买商品和余额
# 5. 在用户使用过程中, 关键输出,如余额,商品已加入购物车等消息,需高亮显示
#
# 升级需求:10%
# 1. 用户下一次登录后,输入用户名密码,直接回到上次的状态,即上次消费的余额什么的还是那些,再次登录可继续购买
# 2. 允许查询之前的消费记录
{"name": "电脑", "price": 1999},
{"name": "鼠标", "price": 10},
{"name": "游艇", "price": 20},
{"name": "美女", "price": 998},
]
# 基本需求:75%
# 1. 启动程序后,输入用户名密码后,让用户输入工资,然后打印商品列表
# 2. 允许用户根据商品编号购买商品
# 3. 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
# 4. 可随时退出,退出时,打印已购买商品和余额
# 5. 在用户使用过程中, 关键输出,如余额,商品已加入购物车等消息,需高亮显示
#
# 升级需求:10%
# 1. 用户下一次登录后,输入用户名密码,直接回到上次的状态,即上次消费的余额什么的还是那些,再次登录可继续购买
# 2. 允许查询之前的消费记录
# account_data = {
# "shopping_list": [],
# "account": ["alex", "abc123", 0],
# "blance": 8000
# }
将用户的账号,密码和其他信息单独存入到一个文件夹中;为了防止用户数据发生错误,每个用户的信息用单独的一个.txt文件存放。
用户信息存放格式如下:
{
"shopping_list": [],
"account": ["mary", "abc", 0],
"blance": 12000
}
"shopping_list": [],
"account": ["mary", "abc", 0],
"blance": 12000
}
python程序代码如下:
username = input("Username:").strip()
password = input("Password:").strip()
password = input("Password:").strip()
account_filename = "account/%s" % username #用户信息存放在account文件夹下面
if os.path.isfile(account_filename):
f = open(account_filename, "r") # 读取文件名称
account_data = eval(f.read()) #读取文件数据
if os.path.isfile(account_filename):
f = open(account_filename, "r") # 读取文件名称
account_data = eval(f.read()) #读取文件数据
if account_data["account"][1] == password:
while True:
for index, i in enumerate(goods): # 枚举商品
print(index, i["name"], i["price"])
choice = input("请选择商品:").strip()
if choice.isdigit():
choice = int(choice)
if 0 <= choice < len(goods):
# 取出商品,判断金额够不够
p = goods[choice]
if p["price"] <= account_data["blance"]: # 买得起
account_data["shopping_list"].append(p)
account_data["blance"] -= p["price"]
print("已把%s加入购物车,当前余额为\033[31;1m%s\033[0m" % (p, account_data["blance"]))
else:
print("余额不足,请有钱了在来买东西")
else:
print("商品不存在")
elif choice == "q":
print("------shopping list-------")
for i in account_data["shopping_list"]:
print(i)
f = open(account_filename, "w")
f.write(str(account_data))
f.close()
print("余额还有%s" % account_data["blance"])
exit("欢迎再次光临")
else:
print("密码错误!")
else:
print("用户不存在")
for index, i in enumerate(goods): # 枚举商品
print(index, i["name"], i["price"])
choice = input("请选择商品:").strip()
if choice.isdigit():
choice = int(choice)
if 0 <= choice < len(goods):
# 取出商品,判断金额够不够
p = goods[choice]
if p["price"] <= account_data["blance"]: # 买得起
account_data["shopping_list"].append(p)
account_data["blance"] -= p["price"]
print("已把%s加入购物车,当前余额为\033[31;1m%s\033[0m" % (p, account_data["blance"]))
else:
print("余额不足,请有钱了在来买东西")
else:
print("商品不存在")
elif choice == "q":
print("------shopping list-------")
for i in account_data["shopping_list"]:
print(i)
f = open(account_filename, "w")
f.write(str(account_data))
f.close()
print("余额还有%s" % account_data["blance"])
exit("欢迎再次光临")
else:
print("密码错误!")
else:
print("用户不存在")