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 的设计具有很强的可读性,相比其他语言 ...
随机推荐
- textCNN原理
一.TextCnn的结构 1. 嵌入层(embedding layer) textcnn使用预先训练好的词向量作embedding layer.对于数据集里的所有词,因为每个词都可以表征成一个向量,因 ...
- 关于 Duplicate detection rules 自动 unpublish 的问题
最近发现自己建立的 Duplicate detection rules 在 publish 之后,会不定时地变成 unpublish 的状态,经过几次测试后,发现是每次将开发中版本更新到测试的 sit ...
- Linux进程管理工具Supervisor
简述 Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启. 它是通过fork/exec的方式把这些被管 ...
- BST(二叉搜索树)相关
1.BST的合法性:validate-binary-search-tree class TreeNode { int val; TreeNode left; TreeNode right; TreeN ...
- 爬虫框架Scrapy 之(一) --- scrapy初识
Scrapy框架简介 scrapy是基于Twisted的一个第三方爬虫框架,许多功能已经被封装好,方便提取结构性的数据.其可以应用在数据挖掘,信息处理等方面.提供了许多的爬虫的基类,帮我们更简便使用爬 ...
- python的socket解析
1.实现一对一的进行沟通交流 (1).服务端代码如下: import socket server = socket.socket() server.bind(("localhost" ...
- requests 获取token
# encoding:utf-8 import reimport jsonimport randomfrom requests.sessions import Session class Regist ...
- Ubuntu下 MySql忘记密码解决方案
1.在终端输入 sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf 2.在文件内搜索skip-external-locking,在下面添加一行: skip-gran ...
- ImportError: Imageio Pillow plugin requires Pillow, not PIL!
问题: 解决: 首先确定是否安装了pillow,若没有输入以下命令安装: sudo pip3 install pillow 然后,再跑一边代码,看是否还会出现错误.若还有错误,更新pillow到最新版 ...
- wireshark 抓包过滤器使用
目录 wireshark 抓包过滤器 一.抓包过滤器 二.显示过滤器 整理自陈鑫杰老师的wireshark教程课 wireshark 抓包过滤器 过滤器分为抓包过滤器和显示过滤器,抓包过滤器会将不满足 ...