【18】Python半成品购物车
#!/usr/bin/env python
#Author:Li QW
'''
程序需求:
1、启动程序后,输入用户名密码后,如果是第一次登录,让用户输入工资,然后打印商品列表
2、允许用户根据商品编号购买商品
3、用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
4、可随时退出,退出时,打印已购买商品和余额
5、在用户使用过程中, 关键输出,如余额,商品已加入购物车等消息,需高亮显示
6、用户下一次登录后,输入用户名密码,直接回到上次的状态,即上次消费的余额什么的还是那些,再次登录可继续购买(未实现)
7、允许查询之前的消费记录
流程图可供参考
import sys
product_list=[('Iphone',7000),('Watch',333),('Water',10),('coffer',54),('Xiaomi',2490),
]###将文件转换成字典
f=open('user.txt','r')
user_lis=f.read()
f.close()
user_info=user_lis.split("#")
user_dict={}
###工资
salary=10000
sa=[]
###历史购物车
show_shopping_log=[]
###购物车
add_cart=[]for item in user_info:item_list=item.split(":")user_dict[item_list[0]]=item_list[-1]print(user_dict)while True:####用户部分####print("输入1:用户注册,输入2:老用户登录,输入q退出")login_num=input("请选择: ")if login_num.isdigit():login_num=int(login_num)if login_num==1:while True:user_1=input("输入注册用户名:")if user_1 in user_dict: ###判断注册用户是否存在,存在则退出当前循环print("用户已存在,请重新注册")continueelse:pass_1=input("请设置密码:") ###设置新用户密码f=open('user.txt','a+') ###将注册用户与密码保存账户文件中(a+,追加内容,不会覆盖原本内容)f.write("#%s:%s"%(user_1,pass_1))f.close()a1="恭喜,注册成功"a11=a1.center(20,"-")print(a11)break ####注册成功,返回初始界面elif login_num==2:while True:with open('user.txt','r') as f:user_lis2=f.read()user_info2=user_lis2.split("#")user_dict1={}for item1 in user_info2:item_list1 = item1.split(":")user_dict1[item_list1[0]] = item_list1[-1]print(user_dict1)user_2=input("输入用户名登录:")if user_2 in user_dict1:pass_2=input("输入密码:")if pass_2 == user_dict[user_2]:a2="登录成功,欢迎进入"a22=a2.center(20,'-')print(a22)while True:print("选择a购物/选择b查询余额/选择c充值/选择q退出")print("------------------------------------------------")choice_1=str(input("根据提示选择模式>>>"))if choice_1 =="a": ###购物模式while True:for index,t in enumerate(product_list):###添加索引print(index,t) #打印商品print("------------------------------")print("选择a查询购物车、选择b返回、q退出")user_choice1=input("选择购买的商品序号或进入其它菜单>>>>>") #选择购买的商品if user_choice1.isdigit(): #修整字符类型user_choice1=int(user_choice1)if 0<=user_choice1<len(product_list): #不在范围内,表示商品不存在p_item = product_list[user_choice1]print(p_item)if p_item[1] <=salary: ###判断余额print("您已购买商品")salary -= p_item[1] #减去金额add_cart.append(p_item) ###加入购物车show_shopping_log=add_cart.copy() ###拷贝到购物历史中print("您已购买\033[31;1m{}\033[0m,余额还剩\033[31;1m{}\033[0m".format(p_item,salary))continueelse:print('----------已购商品---------')print("-----退出a购物模式------")print(show_shopping_log)breakelse:print("----------------------------")print("您输入的商品不存在,请重新购买")elif user_choice1=="a": #####a查询购物车print("-----购物车------")print("已购买",show_shopping_log)elif user_choice1 == 'b': ###退出当前模式,并打印已购买商品。print(" ")print('返回-----已购买商品如下')print(add_cart)breakelif user_choice1=='q': ###退出购物sys.exit()elif choice_1=="b": ###b查看余额print("-----还剩\033[31;1m{}\033[0m-----".format(salary))continueelif choice_1=="c": ##c充值while True:print("您的余额不足,是否充值。(充值1/返回b)")salary_11 = input("请确认是否充值:")if salary_11.isdigit():salary_11 = int(salary_11)if salary_11 == 1:print("------输入充值金额-------")salary_22 = int(input("充值>>>"))salary += salary_22print("充值完成后,还剩\033[31;1m{}\033[0m".format(salary))continueelif salary_11=="b":breakelif choice_1=="q": ###退出购物sys.exit()else:a3="密码错误,请重新输入"print(a3.ljust(13,"!")) #字符串补位continueelse:a4="用户不存在,请重新输入"print(a4.ljust(14,'!'))continueelif login_num=='q':sys.exit()
转载于:https://blog.51cto.com/000011211684/2049545
【18】Python半成品购物车相关推荐
- python模拟购物车购物过程_Python 模拟购物车的实例讲解
1.功能简介 此程序模拟用户登陆商城后购买商品操作.可实现用户登陆.商品购买.历史消费记查询.余额和消费信息更新等功能.首次登陆输入初始账户资金,后续登陆则从文件获取上次消费后的余额,每次购买商品后会 ...
- 小猪的Python学习之旅 —— 18.Python微信转发小宇宙早报
小猪的Python学习之旅 -- 18.Python微信转发小宇宙早报 标签:Python 一句话概括本文: 利用itchat,监控特定信息,转发到特定微信群- 引言: 上一篇 小猪的Python学习 ...
- python练习---购物车
购物车功能要求:要求用户输入总资产,例如:2000显示商品列表,让用户根据序号选择商品,加入购物车购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功.购买成功,打印购买的商品列表扩展:登录 ...
- python编程购物车_python编写购物车新写法
用另一种方式完成购物车的功能实现 #!/usr/bin/python zijin = input("请输入资金:") if zijin.isdigit(): zijin = int ...
- 利用python开发购物车系统
python3实现购物车小程序,优化后将程序分成函数,用文件注册和验证用户名密码. #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 20 ...
- python实现购物车总结_python3简单购物车实现
今天突然有人向我讨要一份简单的购物车代码,而凑巧那份代码是我在我很早之前就写过了.所以现在把之前写的一份源码贴出来和大家分享下,肯定存在些许不足和问题,希望大家能帮我指出,好让我进行修改. 现在就附上 ...
- python实现购物车总结,Python实现的购物车功能示例
本文实例讲述了Python实现的购物车功能.分享给大家供大家参考,具体如下: 这里尝试用python实现简单的购物车程序... 基本要求: 用户输入工资,然后打印购物菜单 用户可以不断的购买商品,直到 ...
- 18.Python爬虫之Scrapy框架
scrapy 框架 01. Scrapy 链接 02. Scrapy 的爬虫流程 03. Scrapy入门 04. setting.py文件中的常用设置 4.1. logging模块的使用 4.2. ...
- 18.Python字符串类型及常用内置方法
文章目录 1.字符串 2.字符串的定义 3.打印引号 4.类型转换 5.索引取值 6.遍历 7.长度统计 8.字符串复制与拼接 8.1字符串的复制 8.2加号拼接 8.3join拼接 8.4字符截取拼 ...
最新文章
- 计算机组成原理两数相加指令,计算机组成原理复习题
- python3精要(54)-文件读写与异常处理
- My97DatePicker在asp.net项目中的使用
- django 跳转其他网站_Django 实战 | 搭一个 GitHub 用户展示网站 04
- Lync 客户端功能对比之IM功能
- 2010-03-29 路由过程
- 45. 将脚本放在底部(6)
- MM模块采购收货的错误解决方案(2)
- Intellij IDEA 导入Maven项目
- nginx企业级优化实战
- python3 爬妹子图片网站实战 代码简明易懂
- Biztalk AS2开发经验总结
- ModuleNotFoundError: No module named ‘views‘
- 2020年陕西省高等职业院校技能大赛信息安全管理与评估赛项竞赛手册
- jca 实例 java_jca工具分析was的javacore实例解析
- 如何写出一份优秀的简历和求职信?
- 【学习笔记】SBT学习笔记
- php DOS word在线预览,如何在 Zoho Docs 中在线预览文件
- c++接口与虚析构函数作用
- 可以完美在 wps中使用zotero的方法