程序:购物车程序

需求:

  1. 启动程序后,让用户输入工资,然后打印商品列表
  2. 允许用户根据商品编号购买商品
  3. 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
  4. 可随时退出,退出时,打印已购买商品和余额

程序如下:

 #!/usr/bin/env python3
# -*- coding: utf-8 -*-
# @Time : 2018/4/28 16:23
# @Author : yang
# @File : Shopping_Cart_Program01.py
# @Software: PyCharm
#定义商品列表
product_list = [('Iphone',6000),
('MAC Pro',9800),
('Bike',800),
('Watch',10600),
('Coffee',31),
('Alex python',120),]
shopping_list = [] #定义空的购物车列表
#输入工资
salary = input('Input your salary:')
if salary.isdigit():
salary = int(salary)
#循环输入需要购买的商品编号
while True:
# enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列
for index,item in enumerate(product_list):
print(index,item) #打印输出带编号的商品列表
user_choice = input('选择要买的商品编号>>>:') #输入要购买的商品编号
if user_choice.isdigit()==False and user_choice.upper() != 'Q':
print('\033[1;43m你输入的商品编号不合法!\033[0m')
exit()
elif user_choice.isdigit()==True: #判断输入的字符串是否由数字组成
user_choice = int(user_choice)
if user_choice < len(product_list) and user_choice >=0:
p_item = product_list[user_choice]
if p_item[1] <= salary: #买得起
shopping_list.append(p_item)
salary -= p_item[1]
print('将商品%s添加到购物车,剩余金额\033[1;31;42m%s\033[0m'%(p_item,salary))
#高亮显示:开头部分:\033[显示方式;前景色;背景色m + 结尾部分:\033[0m
else: #买不起
print('\033[1;41m你的余额只剩[%s]啦,还买个毛线!\033[0m'%salary)
else:
print('\033[1;41m商品%s不存在!\033[0m'%user_choice) #退出购物车程序:打印输出购物列表和余额
elif user_choice.upper() == 'Q':
print('---------------shopping list---------')
for p in shopping_list:
print(p)
print('你的余额还剩:',salary)
exit()
else:
exit()
else: #如果输入的工资不合法,则退出程序
print('您输入的工资不合法!')
exit()

注:程序参照老男孩Alex,附博客地址:http://www.cnblogs.com/alex3714/articles/5717620.html

最新文章

  1. Oracle数据库to_date()和to_char()的相关
  2. 【记录】ASP.NET MVC MapRoute .htm 不起作用
  3. 亿级 Web 系统的容错性建设实践
  4. sqllite
  5. Java垃圾收集算法介绍
  6. Redis和Memcache对比及选择
  7. 0c-35-自动释放池使用注意
  8. Docker学习笔记2
  9. nginx安装总结
  10. js中关于事件处理函数名后面是否带括号的问题
  11. ubuntu菜单面板丢了怎么找回
  12. asp.net用户身份验证时读不到用户信息的问题 您的登录尝试不成功。请重试。 Login控件
  13. MySQL查看修改存储引擎总结
  14. table初始化
  15. cloneNode克隆节点在不同浏览器的差异
  16. ADO.NET中SqlCommand对数据库操作
  17. Python的IO编程
  18. 每天几分钟跟小猫学前端之node系列:用node实现最简单的爬虫
  19. Day14 JavaScript
  20. Linux主机安全配置规范

热门文章

  1. kindeditor支持flv视频播放方法
  2. javascript中的__proto__ 和prototype
  3. docker远程仓库镜像推送到本地仓库
  4. [myeclipse]@override报错问题
  5. constructor&amp;object 的联系与对比
  6. Python中实现switchcase
  7. ZOJ 3521 Fairy Wars oj错误题目,计算几何,尺取法,排序二叉树,并查集 难度:2
  8. hdu2426
  9. Request header field Content-Type is not allowed by Access-Control-Allow-Headers
  10. VirtualBox安装Redhat9.0