python小程序——购物
流程图
实现方式
#!/usr/bin/python3 __author__ = 'beimenchuixue'
__blog__ = 'http://www.cnblogs.com/2bjiujiu/' def shopping_car(shopping_message):
shopping_list = [] # 定义购物车
ex = 'q' # 推出指令
while True: # 一直检查用户输入是否合法,不合法让其重新输入
try:
saving = int(input('小伙子,请输入你的工资:'))
except Exception as e:
print(e)
print('小伙子,别乱,乱来啊,我紧告你')
continue
else:
break
if saving <= 0: # 判断是否有工资
exit('没钱来干啥啊')
else:
print('按q退出选购') # 打印退出提示
while True:
for i in shopping_message: # 打印商品
print(shopping_message.index(i), i) choice = input('请输入想选择商品的编号:') if choice == ex: # 退出判断
break
else:
try: # 判断用户选择的商品是否在商品中
choice = int(choice)
shopping_message[choice]
except Exception as e:
print(e)
print('小伙子,这么年轻眼力就不行了?在输入一次:')
continue
else:
if shopping_message[choice][1] < saving: # 判断用户工资是否大于商品
print(shopping_message[choice]) # 打印选择成功的商品 shopping_list.append(shopping_message[choice][0]) # 吧商品加入购物车 saving -= shopping_message[choice][1] # 结算余额
print('余额', saving)
else:
print('小伙子你工资少了点了,买点便宜点的吧')
for i in shopping_list: # 退出时候打印购买商品
print(i)
print('余额', saving) # 打印余额 if __name__ == '__main__':
# 初始化商品列表
shopping_message = [['iphone', 5800], ['mx6', 2000], ['pythonbook', 80], ['surface', 12000], ['coffee', 33]]
shopping_car(shopping_message)
总结点:
1. 流程图可以帮我更快的弄清编程逻辑先后顺序
2. 考虑商品列表是动态,可以增加或者删减
3. 考虑用户输入的合法性
4. 考虑用户输入是否重复输入
5. 记录用户选择的商品并提示还剩余额
6. 用户退出,打印用户选择好的商品信息与余额
python小程序——购物的更多相关文章
- 微信小程序购物商城系统开发系列-目录结构
上一篇我们简单介绍了一下微信小程序的IDE(微信小程序购物商城系统开发系列-工具篇),相信大家都已经蠢蠢欲试建立一个自己的小程序,去完成一个独立的商城网站. 先别着急我们一步步来,先尝试下写一个自己的 ...
- 微信小程序购物商城系统开发系列
微信小程序购物商城系统开发系列 微信小程序开放公测以来,一夜之间在各种技术社区中就火起来啦.对于它 估计大家都不陌生了,对于它未来的价值就不再赘述,简单一句话:可以把小程序简单理解为一个新的操作系统. ...
- 怎么样通过编写Python小程序来统计测试脚本的关键字
怎么样通过编写Python小程序来统计测试脚本的关键字 通常自动化测试项目到了一定的程序,编写的测试代码自然就会很多,如果很早已经编写的测试脚本现在某些基础函数.业务函数需要修改,那么势必要找出那些引 ...
- Python 小程序,对文件操作及其它
以下是自己写的几个对文件操作的小程序,里面涉及到文件操作,列表(集合,字典)的运用等.比方说,从文件里读取一行数据.分别存放于列表中,再对列表进行操作.如去掉里面的反复项.排序等操作. 常见对文件里行 ...
- Day1:第一个python小程序
Day1:第一个python小程序与开发工具Pycharm 一.Hello World C:\Users\wenxh>python Python 3.6.2 (v3.6.2:5fd33b5, J ...
- 一个有意思的Python小程序(全国省会名称随机出题)
本文为作者原创,转载请注明出处(http://www.cnblogs.com/mar-q/)by 负赑屃 最近比较迷Python,仿照<Python编程快速上手>8.5写了一个随机出卷的小 ...
- 【转】我的第一个Python小程序
原文网址:http://blog.csdn.net/randyqiu/article/details/4484089 人的每个第一次都有点特别的意义,所以下面这个小程序我把他记录下来做个纪念. 因为要 ...
- 人人都可以写的可视化Python小程序第二篇:旋转的烟花
兴趣是最好的老师 枯燥的编程容易让人放弃,兴趣才是最好的老师.无论孩子还是大人,只有发现这件事情真的有趣,我们才会非常执着的去做这件事,比如打游戏.如果编程能像玩游戏一样变得有趣,我相信很多人就特别愿 ...
- 微信小程序购物商城系统开发系列-工具篇
微信小程序开放公测以来,一夜之间在各种技术社区中就火起来啦.对于它 估计大家都不陌生了,对于它未来的价值就不再赘述,简单一句话:可以把小程序简单理解为一个新的操作系统.新的生态,未来大部分应用场景都将 ...
随机推荐
- Java学习----集合函数
1.List----有序的collection(序列) 与数组的不同:数据类型可以相同可以不同,数组的长度是预先定义好的,集合的长度也是预先定义好的,但是长度会随着元素的增加而增加 ArrayList ...
- 5亿投资A站G站:中文在线的二次元野心
中文在线二次元战略的发布会上,所有演讲嘉宾都穿上了印有“进击”二字的帽衫,似乎在表明这家以版权起家的公司进入二次元世界的决心. 11月21日晚,中文在线发布公告,拟以5亿元现金战略投资二次元门户网站A ...
- Application_Start
这个时间是在第一次访问网站的时候触发..比如你发布了一个网站,,我第一个来访问,,就会触发这个事件..以后再有人来访问就不会触发了.. 一般的,我们总是以为Application_Start是一个应用 ...
- ubuntu 14.04 安装preforce
官网: http://www.perforce.com/ http://www.perforce.com/support-services 1. 下载相关文件 http://filehost.perf ...
- #Leet Code# Divide Two Integers
描述:不使用 * / % 完成除法操作.O(n)复杂度会超时,需要O(lg(n))复杂度. 代码: class Solution: # @return an integer def dividePos ...
- 用typedef给结构体一个别名
转:typedef 一.用typedef给结构体一个别名 typedef struct tagMyStruct { int iNum; long lLength; } MyStruct; 这语句实际上 ...
- 小A老空调需求管理小记
1. 关注一个动作的流程和内容 比如登录,我需要提供的是登录接口,但是登录是否只是一个动作?一个动作一定不完整,还应该包括动作的内容和步骤(流程),这里有两个问题:就是落地和把问题想复杂了:其实登录还 ...
- 【Itext】解决Itext5大并发大数据量下输出PDF发生内存溢出outofmemery异常
尼玛,这个问题干扰了我两个星期!! 关键字 itext5 outofmemery 内存溢出 大数据 高并发 多线程 pdf 导出 报表 itext 并发 在读<<iText in Acti ...
- SQL server 触发器、视图
一.触发器 1.触发器为特殊类型的存储过程,可在执行语言事件时自动生效.SQL Server 包括三种常规类型的触发器:DML 触发器.DDL 触发器和登录触发器. 主要讲述DML触发器,DML触发器 ...
- Ruby安装和简介
Ruby下载地址:https://www.ruby-lang.org/zh_cn/downloads/ 我安装的是RubyInstaller.it is a self-contained Window ...