""" 1. 启动程序后,输入用户名密码后,让用户输入工资,然后打印商品列表 2. 允许用户根据商品编号购买商品 3. 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 4. 可随时退出,退出时,打印已购买商品和余额 5. 在用户使用过程中, 关键输出,如余额,商品已加入购物车等消息,需高亮显示 升级需求:10% 1. 用户下一次登录后,输入用户名密码,直接回到上次的状态,即上次消费的余额什么的还是那些,再次登录可继续购买 2. 允许查询之前的消费记录 while 条件: while后面的条件成立,就执行下面的代码 执行代码... index() 函数用于从列表中找出某个值第一个匹配项的索引位置。 例如: aList = [123, ‘xyz‘, ‘runoob‘, ‘abc‘] print "xyz 索引位置: ", aList.index( ‘xyz‘ ) print "runoob 索引位置 : ", aList.index( ‘runoob‘, 1, 3 ) 输出: xyz 索引位置: 1 runoob 索引位置 : 2 """ import os goods = [ {"name": "电脑", "price": 1999}, {"name": "鼠标", "price": 10}, {"name": "游艇", "price": 20}, {"name": "美女", "price": 998}, {"name": "苹果", "price": 20}, {"name": "酸奶", "price": 10}, {"name": "玉米", "price": 5}, ] name = [‘ljy‘] password = [‘123456‘] goods_list = [] #用户的购物车 flog = True money_path = ‘./money.txt‘ path = ‘./shoplist.txt‘ def xargs_file(msg): if os.path.exists(path): #判断文件是否存在 f = open(path, ‘a‘) f.write(str(msg)) f.write(‘,‘) f.close() else: f = open(path, ‘w‘) f.close() def select_money(msg): if os.path.exists(money_path): #判断文件是否存在 f = open(money_path, ‘r‘) money=f.read() f.close() return money else: f = open(money_path, ‘w‘) f.write(str(msg)) f.close() while flog: Uname = input("请输入用户名:").strip() #str.strip():去除字符串两边的空格 Upassword = input("请输入用户密码:").strip() if Uname == name[0] and Upassword == password[0]: print("登录成功!") if os.path.exists(money_path): salary=int(select_money(None)) else: salary = int(input("请输入工资:")) select_money(salary) while flog: for index,i in enumerate(goods): print(index,i) #打印出了带索引的商品列表 choice = input("请输入要选择的商品编号:") if choice.isdigit(): choice = int(choice) #接上,如果选择的商品编号是数字类型,那么就成功赋值给选择的编号 if 0 <= choice < len(goods): #选择的编号在物品清单的索引范围内 if salary >= goods[choice].get(‘price‘): #如果用户的工资大于等于 在商品列表里所选择的编号对应的价格 salary = salary - goods[choice].get(‘price‘) #用户的工资=工资-商品列表里所选择的编号对应的价格 goods_list.append(goods[choice]) #用户的购物车末尾增加这个选择了的东西 print("用户的购物车里有:%s"%goods_list) print("用户的余额还有:%s"%salary) else: print("用户余额不足,还剩%s"%salary) else: print("用户输入的商品编号不在物品清单范围内") elif choice == ‘q‘: #保存并退出 print(‘---------购物车列表---------‘) for index in goods_list: xargs_file(index) print(index) #显示用户购买过的购物车 f = open(path,‘r‘) shop_list = f.read() f.close() print(‘---------消费列表---------‘) for index in eval(shop_list): print(index) print(‘用户还有 %s 的余额‘%salary) f = open(money_path,‘w‘) f.write(str(salary)) f.close() rechoice = input(‘是否继续购买? (Y/N) ‘).strip() if rechoice == ‘Y‘or rechoice == ‘y‘: continue else: print(‘欢迎再次光临!‘) flog = False else: print(‘无法识别该操作!‘) else: print("请重新输入用户名密码")
对昨日购物车程序进行了修整,并进行了小升级,感谢师兄的鼎力相助。
人在压力下才能不断进步,自由散漫的生活终究不行;抓紧时间往后面学习,购物车升级版的新内容很多,加快进度的同时也要保证质量
晚安
原文:https://www.cnblogs.com/ljy123/p/12596243.html