Python购物车的实现课程
需求:
1.用户输入工资收入
2.打印商品列表
3.用户选择商品,不断的加入购物车
4.检测用户余额,直接捐款,不足提示余额不足
5.允许主动退出,退出时,打印已购商品列表
重点方法:
打印列表下标的方法:
a=['alex','sys','root','admin']
>>> for index,i in enumerate(a):
... print(index,i)
0 alex
1 sys
2 root
3 admin
#!/usr/bin/env python3
# -*-conding:utf-8-**
# __Author__:'liudong'
salary=input("Input your salary:")
if salary.isdigit():
salary=int(salary)
else:
exit("Invalid data type...")
welcom_msg='Welcome to Shopping mall'.center(50,'-')
print(welcom_msg)
exit_flag=False
product_list = [
('Iphone',5000),
('Mac Air',8000),
('Mac Pro',9000),
('XiaoMi',20),
('Coffe',30),
('Bike',800),
('Cloth',200)
]
shop_car = []
while not exit_flag:
#for product_item in product_list:
# p_name,p_price = product_item #可选的写法
print("Products list".center(50,'-'))
# for p_name,p_price in product_list:
# print(p_name,p_price) #由于此方法后面打印下标时,会变成2个无组,所以用下面的方法打印
for item in enumerate(product_list):
index=item[0]
p_name=item[1][0]
p_price=item[1][1]
print(index,'.',p_name,p_price)
user_choice = input('[q=quit,c=check]What do you want to buy?:')
if user_choice.isdigit(): #肯定是选商品
user_choice = int(user_choice)
if user_choice < len(product_list):
p_item = product_list[user_choice]
if p_item[1] <= salary: #买的起
shop_car.append(p_item) #放入购物车
salary -= p_item[1] #扣钱
print('Added [%s] into your shop car,your current balance is \033[31;1m[%s]\033[0m' %
(p_item,salary)) #字体加颜色
else:
print('Your balance is [%s],cannot afford this product..' %salary)
else:
if user_choice == 'q' or user_choice == 'quit':
print('purchased products as blew:'.center(40,'*'))
for item in shop_car:
print(item)
print('END'.center(40,'*'))
print('Your balance is [%s]' %salary)
print('bye.')
exit_flag = True
elif user_choice == 'c' or user_choice == 'check':
print('purchased products as blew:'.center(40, '*'))
for item in shop_car:
print(item)
print('Your balance is \033[41;1m[%s]\033[0m' % salary) #背景加颜色
编程的思维还要加强。。。。。
Python购物车的实现课程的更多相关文章
- Day1 老男孩python自动化运维课程学习笔记
2017年1月7日老男孩python自动化运维课程正式开课 第一天学习内容: 上午 1.python语言的基本介绍 python语言是一门解释型的语言,与1989年的圣诞节期间,吉多·范罗苏姆为了在阿 ...
- 简单的python购物车
这几天,一直在学python,跟着视频老师做了一个比较简单的python购物车,感觉不错,分享一下 products = [['Iphone8',6888],['MacPro ...
- python 购物车小程序
python 购物车小程序 功能要求:1.启动程序后,输入用户名密码后,让用户输入工资,然后打印商品列表2.允许用户根据商品编号购买商品3.用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒4. ...
- python购物车小案例
python购物车小案例# 案列描述:有一个小型水果店里面有水果(苹果:¥8/kg,香蕉:¥5/kg,芒果:¥15/kg,葡萄:¥12/kg),客户带了100元钱进店选购水果.# 1.客户输入相应序号 ...
- 2019第一期《python测试开发》课程,10月13号开学
2019第一期<python测试开发>课程,10月13号开学! 主讲老师:上海-悠悠 上课方式:QQ群视频在线教学,方便交流 本期上课时间:10月13号-12月8号,每周六.周日晚上20: ...
- Django入门到进阶-更适合Python小白的系统课程
Django入门到进阶-更适合Python小白的系统课程 整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,单论单个知识点课程本身 ...
- python 购物车和三级菜单
程序:购物车程序 需求: 启动程序后,让用户输入工资,然后打印商品列表 允许用户根据商品编号购买商品 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 可随时退出,退出时,打印已购买商品和余额 ...
- 5th,Python购物车模拟
1.启动程序后,输入用户名密码后,如果是第一次登录,让用户输入工资,然后打印商品列表 2.允许用户根据商品编号购买商品 3.用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 4.可随时退出,退 ...
- Python购物车
product_list = [ ['Iphone',5888], ['Mac Air',8000], ['XiaoMi',19.9], ['coffee',30], ['Tesla',820000] ...
随机推荐
- java.io.FileNotFoundException: class path resource [META-INF/xfire/services.xml] cannot be opened because it does not exist
解决办法: maven创建项目时: META-INF目录下面新建一个xfire文件夹,把services.xml文件放到这个文件夹里,再将整个META-INF拷贝到WEB-INF中 clean一下工程 ...
- 1202.2——Xcode部分快捷键
Ctrl+N(Next) 光标跳到下一行 Ctrl+P(Previous) 光标跳到上一行 Ctrl+B(Back) 光标向左边移动一个字符 Ctrl+F(Forward) 光标向右边移动一 ...
- Java中如何判断当前环境是大端字节顺序还是小端字节顺序
Java非字节类型的基本类型,除了布尔型都是由组合在一起的几个字节组成的.这些数据类 型及其大小总结在表 2-1 中. 表:基本数据类型及其大小 数据类型 大小(以字节表示) Byte 1 Char ...
- [每日一题] OCP1z0-047 :2013-07-24 子查询――外查询与内查询的执行顺序
一.Oracle的子查询分为两类分别是嵌套子查询和非嵌套子查询.所谓嵌套子查询是指,子查询是一个独立的查询不与外部查询相关,子查询将被先执行,而且只被执行一次,子查询执行完成后,再执行外部的查询,外部 ...
- 网易JS面试题与Javascript词法作用域说明
调用对象位于作用域链的前端,局部变量(在函数内部用var声明的变量).函数参数及Arguments对象都在函数内的作用域中--这意味着它们隐藏了作用域链更上层的任何同名的属性. 2010年9月14日, ...
- HTML5+Css3-webkit-filter
-webkit-filter 现在规范中支持的效果有: grayscale 灰度 sepia 褐色 saturate 饱和度 hue-rotate 色相旋转 invert 反色 opacity 透明度 ...
- Windows 批处理文件
窗口自动关闭:批处理文件执行完之后,窗口会自动关闭,若想执行完之后,窗口不自动关闭的话,在文件末尾添加1. 批处理文件执行完之后,窗口会自动关闭2. 若想执行完之后,窗口不自动关闭的话,在文件末尾添加 ...
- Selenium IDE测试
判断WEB程序是否能打开页面,并且打开了正确的页面,可以通过 assertTitle和assertLocation进行判断 并且这些操作不需要提供value. target就是期望的URL和页面标题, ...
- Linux/Ubuntu下 静态编译Qt程序
一般情况下,我们用Qt编译出来的程序是要依赖于系统Qt库的,也就是这个程序移到别的没有安装Qt库的系统上是不能使用的.会提示缺少……库文件之类的错误.这就是动态编译的结果. 但是如果我们想编译一个程序 ...
- rsyslog 只读取变化的日志
<pre name="code" class="html">input(type="imfile" File="/us ...