python购物车-基础版本
# 1. 用户先给自己的账户充钱:比如先充3000元。
# 2. 页面显示 序号 + 商品名称 + 商品价格,如:
# 1 电脑 1999
# 2 鼠标 10
# …
# n 购物车结算
# 3. 用户输入选择的商品序号,然后打印商品名称及商品价格,并将此商品,添加到购物车,用户还可继续添加商品。
# 4. 如果用户输入的商品序号有误,则提示输入有误,并重新输入。
# 5. 用户输入n为购物车结算,依次显示用户购物车里面的商品,数量及单价,若充值的钱数不足,则让用户删除某商品,直至可以购买,若充值的钱数充足,则可以直接购买。
# 6. 用户输入Q或者q退出程序。
# 7. 退出程序之后,依次显示用户购买的商品,数量,单价,以及此次共消费多少钱,账户余额多少。
money=input("输入你要充值的金额:").strip()
if money.isdigit():
money=int(money)
print("充值完成")
else:
print("充值失败")
exit()
yuer=int(money)
goods=[
["电脑",1999],
["鼠标",10],
["手机",12980],
["键盘",1298]
]
for i in range(len(goods)):
print(i + 1, ":", goods[i])
shop_lst=[]
del_lst=[]
tag=True
total_price=0
# sum=0
while True:
user_choose = input("输入你要选择的商品序列(按Q退出,N结算):").strip()
if not user_choose.isdigit() and user_choose.upper() == "Q":
break
elif not user_choose.isdigit() and user_choose.upper() == "N":
if len(shop_lst) < 1:
print("你没有购买任何东西:")
exit()
else:
for i in shop_lst:
# print(shop_lst)
# print(i)
total_price += i[1]
# print("2", total_price)
while money<total_price:
print("总价超出预算")
for del_num in range(len(shop_lst)):
print(del_num + 1, ":", shop_lst[del_num])
user_del = input("商品价格超出预算,请选择删除的商品>>").strip()
user_del = int(user_del)
del_price=shop_lst[user_del - 1][1]
del shop_lst[user_del-1]
total_price = total_price - del_price
else:
print("-------------你购买的商品如下---------------")
for i in shop_lst:
print(i)
print("总额为%d" %total_price)
free=money-total_price
print("你的账户还剩余%d" %free)
exit()
elif user_choose.isdigit() and int(user_choose) > 0 and int(user_choose) < len(goods)+1 :
user_choose=int(user_choose)
shop_lst.append(goods[user_choose-1])
print(shop_lst)
else:
print("输入错误")
continue
python购物车-基础版本的更多相关文章
- python 模块基础介绍
从逻辑上组织代码,将一些有联系,完成特定功能相关的代码组织在一起,这些自我包含并且有组织的代码片段就是模块,将其他模块中属性附加到你的模块的操作叫做导入. 那些一个或多个.py文件组成的代码集合就称为 ...
- [Python学习笔记1]Python语言基础 数学运算符 字符串 列表
这个系列是我在学习Python语言的过程中记录的笔记,主要是一些知识点汇总,而非学习教程,可供有一定编程基础者参考.文中偏见和不足难以避免,仅供参考,欢迎批评指正. 本系列笔记主要参考文献是官网文档: ...
- python开发学习-day01 (python安装与版本、字符串、字典、运算符、文件)
*:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...
- Python爬虫基础
前言 Python非常适合用来开发网页爬虫,理由如下: 1.抓取网页本身的接口 相比与其他静态编程语言,如java,c#,c++,python抓取网页文档的接口更简洁:相比其他动态脚本语言,如perl ...
- Python爬虫基础之认识爬虫
一.前言 爬虫Spider什么的,老早就听别人说过,感觉挺高大上的东西,爬网页,爬链接~~~dos黑屏的数据刷刷刷不断地往上冒,看着就爽,漂亮的校花照片,音乐网站的歌曲,笑话.段子应有尽有,全部都过来 ...
- Python的基础详情
Python的基础信息 Python是一种动态解释性高级语言 Python即可面向对象,也可以面向过程 解释行语言 无需编译 程序以'行'为单位进行执行 执行速度慢 开发效率快 可跨平台 编译型语言 ...
- (数据分析)第02章 Python语法基础,IPython和Jupyter Notebooks.md
第2章 Python语法基础,IPython和Jupyter Notebooks 当我在2011年和2012年写作本书的第一版时,可用的学习Python数据分析的资源很少.这部分上是一个鸡和蛋的问题: ...
- python爬虫-基础入门-python爬虫突破封锁
python爬虫-基础入门-python爬虫突破封锁 >> 相关概念 >> request概念:是从客户端向服务器发出请求,包括用户提交的信息及客户端的一些信息.客户端可通过H ...
- Python入门 ---基础知识
Python入门不知道这些你还是承早放弃吧!真的 Python 简介 Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. Python 的设计具有很强的可读性,相比其他语言 ...
随机推荐
- jenkins_jmeter配置
echo "job begin" date export current_time=`date "+%Y%m%d_%H%M%S"` mkdir -p ${WOR ...
- freetypeLCD显示
目录 freetypeLCD显示 安装交叉编译环境 配置 头文件和库的位置 编译安装 复制到PC编译工具链 复制到文件系统 运行测试 LCD显示 编码转换问题 简单显示 角度旋转 换行显示 居中显示 ...
- ArcGis Python脚本——将细碎小面合并到相邻的面积最大的面
参数: polygon_fc 面要素类 area_limit 给定面积值,小于它的面会被合并 给定两个参数即可,这回没有注释. #polygon_fc 面要素类 #area_limit 给定面积值,小 ...
- 使用 ES.later 的装饰器作为 mixin
原文链接:http://raganwald.com/2015/06/26/decorators-in-es7.html 在函数式 mixin 中,我们讨论了将功能糅合进 JavaScript 类中 ...
- UE4代码片断备份
在Actor内创建一个StaticMesh #include "Components/StaticMeshComponent.h" #include "Engine/St ...
- Ubuntu18.04格式化U盘为NTFS的方法
1.先安装工具ntfs-3g sudo apt-get install ntfs-3g 2.找到需要格式化的U盘在系统中的序号 df -h 找到U盘的序列号后记下来,例如“/dev/sdd1” 3.解 ...
- [系统集成] 基于telegraf, influxdb, grafana 建立 esxi 监控
之前在 nagios 上建立了 esxi 监控,指标少.配置麻烦.视觉效果差.最近我把 esxi 监控迁移到了 influxdb+grafana 平台上,无论是监控指标.可操作性还是视觉效果都有了很大 ...
- Pytorch划分数据集的方法
之前用过sklearn提供的划分数据集的函数,觉得超级方便.但是在使用TensorFlow和Pytorch的时候一直找不到类似的功能,之前搜索的关键字都是"pytorch split dat ...
- SQL server 数据库中插入中文变???格式乱码的问题另一种容易忽略的情况(C#操作dapper)
1.先查查 VS2015 中的XXX.cs页面中编码格式,记事本打开另存一下,编码格式可能是ANSI改为unioncode. (中文前面加N或者改排序规则解决不了的情况有可能是以上原因.)
- JavaScript事件循环机制
事件循环 事件循环不仅仅包含事件队列,而是具有至少两个队列,除了事件,还要保持浏览器执行的其他操作.这些操作被称为任务,并且分为两类:宏任务(或通常称为任务)和微任务. 单次循环迭代中,最多处理一个宏 ...