Python学习——购物车程序
问题需求:
1、启动程序,让用户输入工资,然后打印商品列表
2、允许用户根据商品编号购买商品
3、用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
4、可随时退出,退出时,打印已购买的商品和余额
__author__ = 'jcx' product_list = [
('iphone11',5000),
('macbook pro',9800),
('Bike',800),
('Coffee',31),
('jcx\'s C++',60),
] shoping_list = []
salary = input("Input your salary: ")
if salary.isdigit():
salary = int(salary)
while True:
for index,item in enumerate(product_list):
print(index,item)
user_choice = input("选择要买的商品>>>: ")
if user_choice.isdigit():
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: #买得起
shoping_list.append(p_item)
salary -= p_item[1]
print("Added %s into shopping cart, your current balance is \033[31;1m%s\033[0m" % (p_item,salary))
else:
print("\033[41;1m你的余额只剩[%s]\033[0m" % salary)
else:
print("product number [%s] is not exist." % user_choice)
elif user_choice == 'q':
print("------ shoping list -------")
for p in shoping_list:
print(p)
print("You current balance: \033[31;1m%s\033[0m" % salary)
exit()
else:
print("invalid option")
输出结果:
Input your salary: 6000
0 ('iphone11', 5000)
1 ('macbook pro', 9800)
2 ('Bike', 800)
3 ('Coffee', 31)
4 ("jcx's C++", 60)
选择要买的商品>>>: 0
Added ('iphone11', 5000) into shopping cart, your current balance is 1000
0 ('iphone11', 5000)
1 ('macbook pro', 9800)
2 ('Bike', 800)
3 ('Coffee', 31)
4 ("jcx's C++", 60)
选择要买的商品>>>: 6
product number [6] is not exist.
0 ('iphone11', 5000)
1 ('macbook pro', 9800)
2 ('Bike', 800)
3 ('Coffee', 31)
4 ("jcx's C++", 60)
选择要买的商品>>>: q
------ shoping list -------
('iphone11', 5000)
You current balance: 1000 Process finished with exit code 0
Python学习——购物车程序的更多相关文章
- Python学习-购物车程序
程序:购物车程序 需求: 启动程序后,让用户输入工资,然后打印商品列表 允许用户根据商品编号购买商品 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 可随时退出,退出时,打印已购买商品和余额 ...
- python复习购物车程序
个人学习总结: 无他,唯手熟尔!多敲多练才是王道 python 第三课 元组的灵活运用&字符串的诸多操作 Program01 '''时间 2018年2月12日12:15:28目的 购物车程序 ...
- Python初探-购物车程序
要求: 1,用户进入后,有欢迎语并提示用户输入本金 2.用户输入正确的内容后有购物菜单显示给用户 3.当用户的本金不足以购买商品的时候有提示余额不足并告知差额 4.成功购物后提示已购买内容和购买后的余 ...
- Python学习--课本程序练习(周更)
1.绘制正方形螺旋线 import turtle turtle.setup(600,300,200,200) turtle.pensize(1) turtle.color('green') i=0 w ...
- 【Python学习】程序运行完发送邮件提醒
有时候我们运行一个需要跑很长时间的程序,不管是在云主机还是本地主机上运行,我们都不可能一直守在电脑面前等.所以想到使用邮件来通知提醒. 示例代码如下 # -*- coding: utf-8 -*- # ...
- Python简易购物车程序
2019年5月24日,是我离开北京回学校的日子.我退了组的房子,辞了工作,带着对小秋香不舍回家,这匆匆一别,不知何时才是归期. 这几天都疏于学习,因为每一天我都会和她找点有意思的事情来做,如果这一别就 ...
- python学习-44 程序的解耦 (不是特别懂的,回头在复习)
import os def file_handler(backend_data,res=None,type='fetch'): # 查询功能 if type == 'fetch': with open ...
- python学习:购物车程序
购物车程序 product_list = [ ('mac',9000), ('kindle',800), ('tesla',900000), ('python book',105), ('bike', ...
- Python学习笔记四:列表,购物车程序实例
列表 切片 中括号,逗号分隔,可以一次取出多个元素,起始位置包括,结束位置不包括(顾头不顾尾) 如果取最后一个,而且不知道列表长度,可以使用负数(-1是最后一个,以此类推) 如果取最后几个,记住从左往 ...
随机推荐
- Maven 使用Nexus搭建Maven私服
Maven学习 (四) 使用Nexus搭建Maven私服 为什么要搭建nexus私服,原因很简单,有些公司都不提供外网给项目组人员,因此就不能使用maven访问远程的仓库地址,所以很有必要在局域网里找 ...
- WebEx如何录制电脑内的声音
WebEx如何录制电脑内的声音 事情是这样的,我需要参加一个网络课程,视频讲课的,但是呢,又因为自己白天需要干别的事,就想着怎么把视频录下来晚上回去看,找了WebEx录屏软件,尝试了下,录屏听 ...
- what to do in next ten years
除了深造编程功力,还要有: 烹饪(川菜湘菜,药膳) 吉他 摄影 四书五经,诗词经典 毛笔字书法 可报班,可搜教程自学
- JDBC Connection Configuration配置正确,提示Error preloading the connection pool
JDBC Connection Configuration配置正确,提示Error preloading the connection pool JDBC 请求报错,提示: 因为之前执行是正确的,这次 ...
- eclipse环境变量设置
eclipse的运行需要java,但是当安装了多个版本的jdk后,eclipse可能就不能用了. 解决办法就是: #eclipse 文件夹下有eclipse.ini配置文件,在文件首行添加如下信息: ...
- tomcat-性能?
http://www.cnblogs.com/zhuawang/p/5213788.html http://www.cnblogs.com/zhuawang/p/5213192.html http:/ ...
- Day8 - A - Points on Line CodeForces - 251A
Little Petya likes points a lot. Recently his mom has presented him n points lying on the line OX. N ...
- Java集合基于JDK1.8的LinkedList源码分析
上篇我们分析了ArrayList的底层实现,知道了ArrayList底层是基于数组实现的,因此具有查找修改快而插入删除慢的特点.本篇介绍的LinkedList是List接口的另一种实现,它的底层是基于 ...
- 你从未见过的Case Study写作指南
Case Study,意为案例分析,Case Study与其它的留学论文作业最大的的差别就在于Case Study在论文开始就需要明确给出论,然后再阐述这个结论的论证依据和理由.留学生们需要知道的是C ...
- SpringBoot-拦截器配置
SpringBoot-拦截器配置 SpringBoot-拦截器配置 在我们的SSM项目中,可以在web.xml中配置拦截器,但是在SpringBoot中只能使用java类来配置,配置方法如下. 创建拦 ...