# 购物车练习
# 1.启动程序后,让用户输入工资,打印商品列表
# 2.允许用户根据商品编号购买商品
# 3.用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
# 4.可随时退出,退出时,打印已购买商品和余额
# 创建商品列表
product_list=[
('Iphone',5800),
('Mac pro',10600),
('python',600),
('coffe',30),
('bike',1000),
]
# 创建购物列表
shopping_list=[]
salary=input("请输入你的工资")
list1=print("-------product list--------")
# 判断用户输入的工资是否是整数
#isdigit()检测字符串是否只由数字组成
if salary.isdigit():
# 如果是数字组成,转换成int类型
salary=int(salary)
# 如果输入的工资是正确的,打印商品列表
while True:
# 打印商品列表
# for item in product_list:
# print(product_list.index(item),item)
# enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,
# 同时列出数据和数据下标,一般用在 for 循环当中。
# enumerate(sequence, [start=0])
# sequence -- 一个序列、迭代器或其他支持迭代对象。
# start -- 下标起始位置。
for index,item in enumerate(product_list):
print(index,item)
user_choose=input("选择要买什么>>>>>:")
# 判断输入的是否是数字
if user_choose.isdigit():
user_choose=int(user_choose)
if user_choose<len(product_list) and user_choose>=0:
p_item=product_list[user_choose]
# 买得起
if p_item[1]<=salary:
shopping_list.append(p_item)
salary -=p_item[1]
print("Added %s into shopping cart,your current balace is \033[31;1m%s\033[0m"%(p_item,salary))
else:
print("你的余额只剩%s钱,还买个毛线"%salary)
else:
print("没有该商品,请重新输入")
break
# 如果是q,打印买什么东西,余额还有多少
elif user_choose=='q':
print("-----------shopping list-------------")
for p in shopping_list:
print(p)
print("你的余额还有%s钱"%salary)
exit()
else:
print("invalid option")

python购物车练习题的更多相关文章

  1. python入门练习题1

    常见python入门练习题 1.执行python脚本的两种方法 第一种:给python脚本一个可执行的权限,进入到当前存放python程序的目录,给一个x可执行权限,如:有一个homework.py文 ...

  2. Python/ MySQL练习题(一)

    Python/ MySQL练习题(一) 查询“生物”课程比“物理”课程成绩高的所有学生的学号 SELECT * FROM ( SELECT * FROM course LEFT JOIN score ...

  3. python/MySQL练习题(二)

    python/MySQL练习题(二) 查询各科成绩前三名的记录:(不考虑成绩并列情况) select score.sid,score.course_id,score.num,T.first_num,T ...

  4. 简单的python购物车

                 这几天,一直在学python,跟着视频老师做了一个比较简单的python购物车,感觉不错,分享一下 products = [['Iphone8',6888],['MacPro ...

  5. python 购物车小程序

    python 购物车小程序 功能要求:1.启动程序后,输入用户名密码后,让用户输入工资,然后打印商品列表2.允许用户根据商品编号购买商品3.用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒4. ...

  6. python字典练习题

    python字典练习题 写代码:有如下字典按照要求实现每一个功能dict = {"k1":"v1","k2":"v2", ...

  7. python购物车小案例

    python购物车小案例# 案列描述:有一个小型水果店里面有水果(苹果:¥8/kg,香蕉:¥5/kg,芒果:¥15/kg,葡萄:¥12/kg),客户带了100元钱进店选购水果.# 1.客户输入相应序号 ...

  8. Python经典练习题1:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

    Python经典练习题 网上能够搜得到的答案为: for i in range(1,85): if 168 % i == 0: j = 168 / i; if i > j and (i + j) ...

  9. python入门练习题2

    1,制作表格 循环提示用户输入:用户名,密码,邮箱(要求用户输入的长度超过20个字符,如果超过则只有前20个字符有效) 如果用户输入q或Q就退出程序,将用户输入的内容以表格形式显示 user_inpu ...

随机推荐

  1. Spring项目启动报"Could not resolve placeholder"解决

    1.问题的起因: 除去properites文件路径错误.拼写错误外,出现"Could not resolve placeholder"很有可能是使用了多个PropertyPlace ...

  2. B-线性代数-距离公式汇总

    目录 距离公式汇总 一.欧式距离 二.曼哈顿距离 三.闵可夫斯基距离(Minkowski distance) 更新.更全的<机器学习>的更新网站,更有python.go.数据结构与算法.爬 ...

  3. 基于Spring AOP实现的权限控制

    1.AOP简介 AOP,面向切面编程,往往被定义为促使软件系统实现关注点的分离的技术.系统是由许多不同的组件所组成的,每一个组件负责一块特定的功能.除了实现自身核心功能之外,这些组件还经常承担着额外的 ...

  4. PowerBI系列之什么是PowerBI

    大家好,我是小黎子!一个专注于数据分析整体数据仓库解决方案的程序猿!今天小黎子就给大家介绍一个数据分析工具由Microsoft出品的全新数据可视化工具Power BI.微软Excel很早就支持了数据透 ...

  5. Focus on the Good 专注于好的方面

    [1]  Dealing with people is like digging for gold. When you go digging for an ounce of gold, you hav ...

  6. Spring Cloud Gateway的动态路由怎样做?集成Nacos实现很简单

    一.说明 网关的核心概念就是路由配置和路由规则,而作为所有请求流量的入口,在实际生产环境中为了保证高可靠和高可用,是尽量要避免重启的,所以实现动态路由是非常有必要的:本文主要介绍 Spring Clo ...

  7. Java微服务(二):负载均衡、序列化、熔断

    本文接着上一篇写的<Java微服务(二):服务消费者与提供者搭建>,上一篇文章主要讲述了消费者与服务者的搭建与简单的实现.其中重点需要注意配置文件中的几个坑. 本章节介绍一些零散的内容:服 ...

  8. luogu P4035 [JSOI2008]球形空间产生器

    [返回模拟退火略解] 题目描述 今有 n+1n+1n+1 个 nnn 维的点,它们都在一个球上.求它们所在球的球心. Solution 4035\text{Solution 4035}Solution ...

  9. [BZOJ1116] CLO

    1116: [POI2008]CLO Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1311  Solved: 709[Submit][Status] ...

  10. [CODEVS3366] 矿石

    题目描述 Description 经历了千辛万苦,小J找到了N块矿石.这些矿石都有毒性,但只要将两块矿石放在一起,再分开即可解毒.但任一两块矿石都可以互相吸引.为了降低吸引力,小J将他们放入一个直径仅 ...