基础要求:
1、启动程序后,输入用户名密码后,让用户输入工资,然后打印商品列表
2、允许用户根据商品编号购买商品
3、用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
4、可随时退出,退出时,打印已购买商品和余额
5、在用户使用过程中, 关键输出,如余额,商品已加入购物车等消息,需高亮显示
扩展需求:
1、用户下一次登录后,输入用户名密码,直接回到上次的状态,即上次消费的余额什么的还是那些,再次登录可继续购买
2、允许查询之前的消费记录
goods = [
{"name": "电脑", "price": 1999},
{"name": "鼠标", "price": 10},
{"name": "游艇", "price": 20},
{"name": "美女", "price": 998},
]
name_user = {}
验证帐号密码
1 def con(Username, Pwd):
2 with open('file.user', 'r', encoding='UTF-8') as f:
3 date = eval(f.read().strip())
4 for i in date:
5 if Username == i and Pwd == date[i]:
6 return True
7 else:
8 return False
View Code
写购买记录
1 def write_shop_file(b):
2 with open('file.user', 'r+', encoding='UTF-8') as f:
3 date = eval(f.read().strip())
4 f.seek(0)
5 f.truncate()
6 date['shopcar']= b
7 f.write(str(date))
8 f.flush()
View Code
写金额
1 def write_money_file(money):
2 with open('file.user', 'r+', encoding='UTF-8') as f:
3 date = eval(f.read().strip())
4 f.seek(0)
5 f.truncate()
6 date['money'] = money
7 f.write(str(date))
8 f.flush()
View Code
读历史购买记录
1 def read_shop_file():
2 with open('file.user', 'r', encoding='UTF-8') as f:
3 date = eval(f.read().strip())
4 old = (date['shopcar'])
5 return old
View Code
读历史金额
1 def read_money_file():
2 with open('file.user', 'r', encoding='UTF-8') as f:
3 date = eval(f.read().strip())
4 money = date['money']
5 return money
View Code
继续购买
1 def old_buy():
2 money = read_money_file()
3 old_res = read_shop_file()
4 while True:
5 print('----------商品列表------------')
6 for index, i in enumerate(goods):
7 print(index, i['name'], i['price'])
8 num = input('请问需要购买什么?输入商品编号,或者按Q退出:')
9 if num.isdigit():
10 num = int(num)
11 if num >= 0 and num <=len(goods)-1 and money >= goods[num]['price']:
12 old_res.append(goods[num])
13 money -= goods[num]['price']
14 print('你的金额还剩下:''