Python学习-购物车程序
2024-08-24 13:28:19
程序:购物车程序
需求:
- 启动程序后,让用户输入工资,然后打印商品列表
- 允许用户根据商品编号购买商品
- 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
- 可随时退出,退出时,打印已购买商品和余额
程序如下:
#!/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
最新文章
- Oracle数据库to_date()和to_char()的相关
- 【记录】ASP.NET MVC MapRoute .htm 不起作用
- 亿级 Web 系统的容错性建设实践
- sqllite
- Java垃圾收集算法介绍
- Redis和Memcache对比及选择
- 0c-35-自动释放池使用注意
- Docker学习笔记2
- nginx安装总结
- js中关于事件处理函数名后面是否带括号的问题
- ubuntu菜单面板丢了怎么找回
- asp.net用户身份验证时读不到用户信息的问题 您的登录尝试不成功。请重试。 Login控件
- MySQL查看修改存储引擎总结
- table初始化
- cloneNode克隆节点在不同浏览器的差异
- ADO.NET中SqlCommand对数据库操作
- Python的IO编程
- 每天几分钟跟小猫学前端之node系列:用node实现最简单的爬虫
- Day14 JavaScript
- Linux主机安全配置规范
热门文章
- kindeditor支持flv视频播放方法
- javascript中的__proto__ 和prototype
- docker远程仓库镜像推送到本地仓库
- [myeclipse]@override报错问题
- constructor&;object 的联系与对比
- Python中实现switchcase
- ZOJ 3521 Fairy Wars oj错误题目,计算几何,尺取法,排序二叉树,并查集 难度:2
- hdu2426
- Request header field Content-Type is not allowed by Access-Control-Allow-Headers
- VirtualBox安装Redhat9.0