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] ...
随机推荐
- 使用 pm2 来守护 NoderCMS
pm2 是一个带有负载均衡功能的Node应用的进程管理器,使用 pm2 可以帮助你守护和监控 NoderCMS 的正常运行, 基于Node.js+MongoDB的轻量级内容管理系统NoderCMS ...
- centos的常用命令
公司服务器主要是centos,第一篇就从centos的常用命令开始吧. 转载自:http://www.cnblogs.com/zitsing/archive/2012/05/02/2479009.ht ...
- Mac下安装MySQL-python
前提系统中已安装python.mysql数据库: 第一步(终端输入): $ export PATH=$PATH:/usr/local/mysql/bin 第二步(终端输入): $ sudo pip i ...
- mongodb and .net
http://www.codeproject.com/Tips/684801/Connecting-NET-Application-to-MongoDB http://www.codeproject. ...
- Android 的开源电话/通讯/IM聊天项目全集
一.Android的XMPP客户端 Beem Beem 是一个运行于 Android 手机平台的 XMPP (jabber) 的客户端软件,兼容标准的 XMPP 服务器和服务,例如 Ejabberd, ...
- 开启Apache mod_rewrite模块(解决404 Not Found)
网站搭建完成了,进入登录界面就是访问不了. 原因大概是没有开启Apache mod_rewrite模块,或者没有配置完全. 步骤1: 启用mod_rewrite模块 在conf目录的httpd.con ...
- asp.net 1.1网站开发配置出现”Visual Studio .NET 无法创建或打开应用程序”解决方法
可能的解决方案: 1.注册.net framework 1.1 C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_regiis /i 2,如果配置 ...
- 使用定制的ArrayAdapter制作ListView的Items(翻译)
Translated by:AcerWang 原文出自:customizing-android-listview-items-with-custom-arrayadapter 背景介绍 对于现 ...
- 《SDN核心技术剖析和实战指南》2.1交换机核心技术小结
对于SDN交换机的技术,其实也适用于传统的交换机,只不过控制部分被分离出来而已.传统交换机的控制面主要是转发表的管理以及网络状态之类的各种表,现在这些都由控制器来担心.转发面主要由转发决策.背板和输出 ...
- vimrc 留备份
set encoding=UTF-8 "encode with UTF-8"set backspace=2set nusyn onset ai!syntax enablesynta ...