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] ...
随机推荐
- iOS之使用QLPreviewController打开文件,处理txt文件出现乱码的情况
iOS之使用QLPreviewController打开文件,处理txt文件出现乱码的情况 主要代码: - (id <QLPreviewItem>)previewController:(QL ...
- Swift - 36 - 结尾闭包(Trailing closure)和捕获数值(Capturing Values)的简单介绍
//: Playground - noun: a place where people can play import UIKit // 初始化一个整数数组 var arr = [1, 3, 5, 7 ...
- 转:十条不错的编程观点。(出处:酷 壳 – CoolShell.cn)
在Stack Overflow上有这样的一个贴子<What’s your most controversial programming opinion?>,翻译成中文就是“你认为最有争议的 ...
- 2.1 Java I/O简史
Java 1.0 到 1.3 中的 IO 没有而 Java 1.4 中引入的 NIO 有的“改进”:非阻塞IO.缓冲区.通道层.字符集.内存数据.Perl(正则表达式之王): 下一代 I/O-NIO. ...
- Spring4.0学习笔记(1) —— 基础知识
1.基本定义 IOC: 其思想是反转资源获取的方向,传统的资源查找方式要求组件向容器发起请求查找资源,作为回应,容器适时的返回资源,而应用了 IOC之后,容器主动将资源推送给它所管理的组件,组件索要做 ...
- wdcp/wdlinux一键包的php5.3版本添加Zend.so 和Soap.so
Wdcp 安装soap扩展 1.首先进入 soap模块的安装文件,wdcp安装包解压对应的php中有,如:/root/miloxi/lanmp/php-5.5.10/ext/soap 2.执行: (1 ...
- mysql innerjoin left join right join 解析
毕业半年多时间,一直都没有学习好join 之前一直是先从一个表里面取出数据然后,然后再从另外一个表里面取出数据,然后再写一个函数循环格式化数据. 还是先写一下学到的东西吧! 转载自w3school ...
- twisted(3)--再谈twisted
上一章,我们直接写了一个小例子来从整体讲述twisted运行的大致过程,今天我们首先深入一些概念,在逐渐明白这些概念以后,我们会修改昨天写的例子. 先看下面一张图: 这个系列的第一篇文章,我们已经为大 ...
- JS操作css的float属性的特殊写法
使用js操作css属性的写法是有一定的规律的: 1.对于没有中划线的css属性一般直接使用style.属性名即可. 如:obj.style.margin,obj.style.width,obj.sty ...
- 转:MFC中创建多线程
MFC中创建多线程 MFC的多线程函数必须声明为静态的或者是全局函数(不同的在于全局函数不能访问类的私有静态成员,而静态类函数可以):但这样的线程函数只能访问静态的成员变量,要实现访问类的其他成员 ...