Python3实现购物车功能
这篇文章主要为大家详细介绍了python3实现购物车功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了Python3实现购物车功能的具体代码,供大家参考,具体内容如下
购物车要求:
1、启动程序后,输入用户名密码后,如果是第一次登录,让用户输入工资,然后打印商品列表
2、允许用户根据商品编号购买商品
立即学习“Python免费学习笔记(深入)”;
3、用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
4、可随时退出,退出时,打印已购买商品和余额
5、在用户使用过程中, 关键输出,如余额,商品已加入购物车等消息,需高亮显示
6、用户下一次登录后,输入用户名密码,直接回到上次的状态,即上次消费的余额什么的还是那些,再次登录可继续购买
7、允许查询之前的消费记录
逻辑图:
执行代码:
#!/usr/bin/env python3# Author: Robert# --*-- coding: utf-8 --*--set = False #设置set 当输入为q就可以退出file = open("购物车用户信息档案.txt","r+",encoding="utf-8") #读取购物车用户信息文件f = str(file.read()) #将文件内容转化成字符串for line in f: file_str = str(f)data = eval(file_str) #将字符串转换为字典dataname = input("输入姓名:")password = input("输入密码:")while True: if name in data: #用户在档案中 if password in data[name]: #密码和用户名对应,校验正确,登录。 salary = float(data[name][password]) print('''[32;1m欢迎登录,当前余额为%s[0m'''%salary) break else: #否则密码错误,请重新输入 password = input("密码错误,请重新输入:") continue else: #否则判断为首次登录,将用户名,密码,工资存到用户信息文件中 password_salary = {} salary_str = input("欢迎首次登录,请输入你的工资:") salary = float(salary_str) password_salary[password] = salary #工资对应到密码 data[name] = password_salary #将密码-工资对应到用户名 file.seek(0) file.write(str(data)) file.tell() breaklist = [#购物清单 ["iphone",5800], ["sifei",800], ["macbook",17500], ["book",75], ["apple",5]]file_list_r = open("历史购物信息.txt","r+",encoding="utf-8")file_list_r = str(file_list_r.read())shoppinglist_dict = eval(file_list_r)if name not in shoppinglist_dict: shoppinglist_dict[name] = []shoppinglist = shoppinglist_dict[name]shoppinglist_dict_now = []choose = input("是否需要查询历史购物记录(y/n):")if choose == 'y': print("---------->历史购物记录结束商品清单结束购物清单结束int(len(list)) or int(number)<p>购物车用户信息档案.txt</p><blockquote>{'name': {'password': '10000'}, 'cx': {'123': '725.0'}, 'robert': {'qw': '440.0'}, 'cv1': {'1': 100.5}, 'ROBERT': {'QW': 1560.0}, 'qwe': {'qw': '1555.0'}}</blockquote><p>历史购物信息.txt</p><blockquote><p>{'name': [['iphone', 5800],['bike', 800]], 'cx':[['iphone', 5800],['apple', 5],['apple', 5], ['book', 75]]}</p></blockquote><p>