python购物车结算_python购物车
python文件部分:
user = {'username':None}
shopping_trolley = {}
shopping_num = [0]
money = [0]
my_money = [0]
#获取商品列表
def get_goods_list():
with open('shopping.txt', encoding='utf-8') as fr:
shopping_dic = eval(fr.read())
return shopping_dic
shopping_dic = get_goods_list()
#登录
def login():
if not user['username']:
print("欢迎来到登录页面^-^\n")
usename = input("请输入你的用户名:")
password = input("请输入你的密码:")
#打开文件判断文件中是否存在用户名和密码
with open('user_info.txt',encoding='utf-8') as fr:
data = fr.read().split('|')
user_info = (f"{usename}:{password}")
if user_info in data:
print("登录成功!")
print(f"欢迎{usename},你当前的账户余额为:{my_money[0]}\n")
user['username'] = usename
else:
print("登录失败")
else:
print(f"尊敬的:{user['username']},你已经登录,无需重复登录^-^")
#注册
def register():
print("欢迎来到注册页面^-^\n")
#获取用户注册的用户名和密码
username = input("请输入你的用户名:")
password = input("请输入你的密码:")
#将注册信以追加的形式存入文件
with open('user_info.txt','a') as fa:
fa.write(f"{username}:{password}|")
print("注册成功!")
#购物
def shopping():
if user['username']:
print("欢迎来到购物界面!^-^")
while True:
for k,v in enumerate(shopping_dic):
print(f"序号:{k},{v}")
get_goods_num = input("请输入商品序号(不需要则按q退出):")
if get_goods_num == 'Q' or get_goods_num =='q':
print(f"你当前购物车中有{shopping_num[0]}件物品")
break
if get_goods_num =="":
print("请输入正确的序号\n")
continue
get_goods_num = int(get_goods_num)
goods = shopping_dic[get_goods_num]
print(f"{goods}加入购物车成功\n")
goods_name = goods[0]
if goods_name in shopping_trolley:
shopping_trolley[goods_name] += 1
shopping_num[0] +=1
else:
shopping_trolley[goods_name] = 1
shopping_num[0] += 1
money[0] += goods[1]
else:
print("您当前尚未登录!")
#购物车
def shopping_list():
if user['username']:
print("欢迎来到购物车功能^-^")
while True:
print(f"你当前加入购物车的商品为{shopping_trolley},总价格为{money[0]}")
delete = input("请问是否移除商品,不移除则按q退出:")
if delete == 'Q' or delete =='q':
break
elif delete =="":
print("请输入正确的名称或字母\n")
continue
shopping_trolley[delete] -=1
if shopping_trolley[delete] == 0:
shopping_trolley.pop(delete)
for goods in shopping_dic:
if delete in goods:
money[0] -= goods[1]
shopping_num[0] -= 1
else:
print("请登录后再试!")
#结算
def pay():
if user['username']:
print("欢迎来到结算页面^-^")
print(f"您当前的账户余额为:{my_money[0]}")
while True:
print(f"您当前中的购物车中有:{shopping_trolley},总价为{money[0]}")
settle_account = input("是否结算,结算请输入y,退出请输入n(退出则会清空购物车):").lower()
if settle_account == 'y':
if my_money[0] > money[0]:
print(f"支付{money[0]}成功,已成功购买{shopping_trolley}")
shopping_num[0] = 0
my_money[0] = my_money[0] - money[0]
print(f"你当前余额为:{my_money[0]}元")
shopping_trolley.clear()
money[0] = 0
break
else:
print(f"你的余额不允许你这么做哦,你当前余额为{my_money[0]}←_←,请充值后再重试")
elif settle_account == 'n':
shopping_trolley.clear()
money[0] = 0
print("清空购物车成功!")
break
else:
print("输入不合法")
else:
print("请登录后再试!")
#充值
def recharge():
if user['username']:
print("欢迎来到充值界面^-^")
print(f"您当前余额为:{my_money[0]}")
while True:
top_up = input("请输入你充值的金额:")
if top_up.isdigit():
my_money[0] += int(top_up)
if my_money[0] != 0:
print("充值成功!")
print(f"您当前的账户余额为:{my_money[0]}")
break
elif top_up == "":
print("请输如你需要的数目!")
else:
print("充值失败")
continue
else:
print("请登录后再试!")
#退出登录
def exit():
if user['username']:
while True:
exi_login = input(f"尊敬的:{user['username']},是否退出登录,退出请输入y,取消请输入n:").lower()
if exi_login == 'y':
user['username'] = ""
print("退出成功!")
break
elif exi_login == 'n':
print("取消退出登录成功!")
break
else:
print("请输入y/n")
else:
print("你当前尚未登录!")
# 主函数
def mian():
mian_list = """
1:注册
2:登录
3:购物
4:购物车
5:结账
6:充值入口
7:退出登录
"""
mian_func = {
'1': register,
'2': login,
'3': shopping,
'4': shopping_list,
'5': pay,
'6': recharge,
'7': exit
}
mian_len = len(mian_func)
while True:
print(mian_list)
select_serv=input("请选择服务(按Q退出):")
if select_serv == 'Q' or select_serv =='q':
print("欢迎下次光临^-^")
break
if not select_serv.isdigit():
print('请输入数字!')
continue
# select_serv = int(select_serv)
if select_serv > str(mian_len):
print("你输入的数字不合法!")
continue
mian_func[select_serv]()
mian()
购物列表文件
[
['变形金刚', 199],
['玩具汽车', 299],
['电动玩具', 399],
['流光星陨', 499],
['阿波菲斯', 599],
['荒古遗尘', 699],
['圣耀救赎', 799],
['苍穹幕落', 899],
['夜雨黑瞳', 999],
['界·夜雨黑瞳', 1999]]
python购物车结算_python购物车相关推荐
- python购物车结算_python购物车-基础版本
# 1. 用户先给自己的账户充钱:比如先充3000元. # 2. 页面显示 序号 + 商品名称 + 商品价格,如: # 1 电脑 1999 # 2 鼠标 10 # - # n 购物车结算 # 3. 用 ...
- python购物车结算_python中购物车
python的基础语法 python数据类型:(按特征划分) 数字类型: 1.整形:布尔形.长整型L.标准整形 2.非整形:双精度型.复数.decimal(不是内建类型) 序列类型: 1.字符串(st ...
- python 购物车总额_python购物车进阶(函数)
'''头发掉了不少'''import os'''用户注册'''def register(): username= input("请输入注册用户名:") password= inpu ...
- python 购物车程序_Python 购物车程序(文件版)
''' 购物车程序 用户入口: 1.商品信息存在文件里 2.已购商品,余额记录 商家入口: 1.可以添加商品,修改商品价格 ''' filePath = "D:\Python_work\Lp ...
- python 购物车分析_Python购物车
一.Locust工具介绍 1.概述 Locust是一款易于使用的分布式负载测试工具,完全基于事件,使用python开发,即一个locust节点也可以在一个进程中支持数千并发用户,不使用回调,通过gev ...
- Spring Boot + Drools+模板引擎,优惠券的动态添加以及购物车结算
目录 二.项目文件结构以及数据库表结构 三.主要项目文件说明 1.pom文件 2.配置文件 3.实体类 4.添加优惠券业务实现 5.购物车结算业务实现 四.实现效果 1.添加优惠券 2.购物车结算 五 ...
- python实验报告内容实现购物车系统_Python实现的购物车功能示例
本文实例讲述了python实现的购物车功能.分享给大家供大家参考,具体如下: 这里尝试用python实现简单的购物车程序... 基本要求: 用户输入工资,然后打印购物菜单 用户可以不断的购买商品,直到 ...
- python费用结算系统_python 全栈开发,Day104(DRF用户认证,结算中心,django-redis)
考试第二部分:MySQL数据库 6. MySQL中char和varchar的区别(1分) char是定长,varchar是变长. char的查询速度比varchar要快. View Code 7. ...
- python 购物车程序_购物车程序python
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 第3点要求: 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒在循环外层 ...
最新文章
- 基于Golang的CLI 命令行程序开发
- vue 数据劫持详解
- 转行做python现在怎么样_本人现在大三之前是学习网络的,现在想转行做python程序员,该如何学习?...
- 我看TechEd 2012之技术热点
- GPU迎来投资热潮 退潮后谁在裸泳
- 怎样连接mysql文件_如何连接MYSQL数据库?
- Visual Studio 2010 单元测试之一---普通单元测试:http://blog.csdn.net/tjvictor/archive/2011/02/09/6175362.aspx...
- redis5 外部不能连接_【硬见小百科】PCB连接的方法
- php5.3 延迟静态绑定 static关键字
- 【原创】基于NIOS II的ADS1256 SPI驱动
- iOS进阶(XML、JSON数据解析)
- 随机数生成器python_Python中的随机数生成器
- nyoj 236 心急的C小加(贪心)
- 自动化测试环境搭建--Python及selenium
- 指纹识别技术的基本原理及过程
- lbochs模拟器最新版_bochs模拟器最新版下载
- 解决ROS中运行launch文件报错ERROR: cannot launch node of type[xxx/xxx]:xxx的问题
- android设备(手机) 投屏 到mac电脑
- python系列3—顺序结构和分支结构
- 如何在React.js文件中设置标签的背景图片
热门文章
- 几款实用的照片变漫画免费软件,千万别错过
- 如何在谷歌浏览器中使用vue调试工具
- Vue - 允许浏览器进行debugger调试
- Scalable TCP拥塞算法
- 【用户画像】用户画像简介、用户画像的架构、搭建用户画像管理平台
- CG动画制作——实训项目中期工作(一)
- 关于多层板,你了解多少?
- 如何实现上传多个图片并依次展示_js前端实现多图图片上传预览的两个方法(推荐)...
- 学生计算机2的4次方,学生专用计算器怎么开N次方
- 抖音只能上下滑动吗_抖音短视频推荐为什么是上下滑动?抖音短视频推荐表格设置方法...