[作业] Python入门基础---购物车小程序
1.购物车小程序:
1.1用户输入工资取60%
1.2打印输出商品菜单
1.3由用户输入数字选择
#__author:Mifen
#date: 2018/11/27 # 购物车程序 #把工资作为账户的余额
salary = int (input('你的工资为:'))
funds = salary * 0.6 # 取工资的60% #自定义本地商品数据列表[商品名称,价格,库存]
menu = [['保留使用,不存数据'],['iPhone7',6000,30],['Notebook',9000,30],['coffee',32,30],['Pythonbook',80,30],['bike',2000,30]]
count = len(menu) #统计本地商品种类数
#定义一个空列表存储购买商品
shopping_cart = [] for i in range(1,count): #循环获取列表数据
#输出商品信息
print('''%d.商品名称:%s
价格:%d
库存:%d'''
% (i,menu[i][0],menu[i][1],menu[i][2]),end='\t')
print() print('账户余额¥%.2f' % funds)
user_select = int(input('输入购买的商品前的序号(886退出):')) while True: if 0<user_select < count:
print('''商品名称:%s \n价格¥:%d \n库存:%d'''
% (menu[user_select][0], menu[user_select][1], menu[user_select][2])) #显示该商品信息
if funds < menu[user_select][1]: #判断余额是否能买一件改商品
print('%s 单价为¥ %d/件,当前余额¥ %d' % (menu[user_select][0],menu[user_select][1],funds))
user_select = int(input('请重新输入购买的商品前的序号(886退出):'))
continue
else:
if menu[user_select][2]: #判断是否还有库存
buy = int(input('请输入购买数量:'))
price = int(menu[user_select][1]) * buy #总价
if price < funds: #判断余额是否够付款
entrepot = menu[user_select][2] - buy # 库存减少
menu[user_select][2] = entrepot # 更新库存
shopping_cart.append([menu[user_select][0],menu[user_select][1],buy,price])#添加到购物车
funds = funds - price #结算
print('结算成功,当前余额为¥ %d' % funds)
user_select = int(input('输入购买的商品前的序号(886退出):'))
else:
print('%d 件 %s 总价为¥ %d ,当前余额¥ %d,重新选择' % (buy,menu[user_select][0], price, funds))
continue
else:
print('库存不足')
user_select = int(input('输入购买的商品前的序号(886退出):'))
elif user_select == 886:
print('多谢惠顾!')
break
else:
print('Wrong input')
user_select = int(input('输入购买的商品前的序号(886退出):'))
[作业] Python入门基础---购物车小程序的更多相关文章
- [作业] Python入门基础--用户登陆
让用户输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定登陆 #__author:Mifen #date: 2018/11/28 import time #自定义本地用户名和密码 user_nam ...
- python基础—购物车小程序练习
要求:顾客可以根据商品编号购买工资允许内的商品,购买完成后,打印购买列表. def main(): salary = input("what is your salary ?") ...
- [作业] Python入门基础--三级菜单
用字典存储数据 可以随时返回上一级,随时退出程序 只能用循环判断等内置方法,不得导入模块 menu = { '广东':{ '广州':{ '越秀区':{ '面积':'33.80', '人口':'115万 ...
- [作业] Python入门基础--猜年龄
age = 20 while True: try: guess_age = int(input('guess age:')) if guess_age > age: print('Is bigg ...
- [作业] Python入门基础---九九乘法表
1.while 循环 : x = 1 while x < 10: y = 1 while y <=x: print('%d*%d=%2d' % (y,x,x*y),end = '\t') ...
- python 购物车小程序
python 购物车小程序 功能要求:1.启动程序后,输入用户名密码后,让用户输入工资,然后打印商品列表2.允许用户根据商品编号购买商品3.用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒4. ...
- Python入门基础学习 二
Python入门基础学习 二 猜数字小游戏进阶版 修改建议: 猜错的时候程序可以给出提示,告诉用户猜测的数字偏大还是偏小: 没运行一次程序只能猜测一次,应该提供多次机会给用户猜测: 每次运行程序,答案 ...
- Python flask构建微信小程序订餐系统
第1章 <Python Flask构建微信小程序订餐系统>课程简介 本章内容会带领大家通览整体架构,功能模块,及学习建议.让大家在一个清晰的开发思路下,进行后续的学习.同时领着大家登陆ht ...
- Python 入门基础6 --字符编码、文件操作1
今日内容: 1.字符编码 2.字符与字节 3.文件操作 一.字符编码 了解: cpu:将数据渲染给用户 内存:临时存放数据,断电消失 硬盘:永久存放数据,断电后不消失 1.1 什么是编码? 人类能够识 ...
随机推荐
- 深入CSS属性(九):z-index
如果你不是一名csser新手,想必你对z-index的用法应该有个大致的了解了吧,z-index可以控制定位元素在垂直于显示屏方向(Z 轴)上的堆叠顺序,本文不去讲述基本的API如何使用,而是去更深入 ...
- ffmpeg学习(二) 通过rtsp获取H264裸流并保存到mp4文件
本篇将使用上节http://www.cnblogs.com/wenjingu/p/3977015.html中编译好的库文件通过rtsp获取网络上的h264裸流并保存到mp4文件中. 1.VS2010建 ...
- xshell显示隐藏窗口页签
有时候不知道操作说了什么红框中的页签会消失,可以ctrl+shift+t 控制显示隐藏
- ActiveX 控件重绘无效问题,用CClientDC 而不是CPaintDC
ActiveX 控件重绘子控件时,用Invalid()会出现无效的情况即不会更新界面. OnPaint 方法里,是用的 CPaintDC,经测试无效,后换CClientDC,发现可以,百度查他们的区别 ...
- WP8.1StoreApp(WP8.1RT)---MessageBox与MessageDialog
在WP7和WP8中,MessageBox是跟WinForm中一样常用的对话框,但是有一个显著的缺点,就是WP7/8中默认的MessageBox是阻塞线程的.也许是由于这个原因,WP8.1/Win8中采 ...
- EF6 使用SQLite Code First
SQLite是一款轻型关系型数据库,做一个小网站,用来替代sql server或者access数据库应该会是一个不错的选择. ASP.NET Entity Framework 6是微软平台的著名ORM ...
- openstack kolla 部署---不同的节点采用不同的物理接口
在 /etc/kolla/globals.yml 文件中删除 neutron_external_interface tunnel_interface api_interface storage_ ...
- php如何进行多进程与异步调用方法
浏览器和服务器之间只一种面向无连接的HTTP协议进行通讯的,面向无连接的程序的特点是客户端请求服务端,服务端根据请求输出相应的程序,不能保持持久连接. 这样就出现了一个问题,一个客户端的相应服务端可能 ...
- net项目总结一(1)
中小型新闻发布系统 代码结构:分为实体层,数据层与接口,数据工厂层,业务逻辑层,公共层,UI层(由于图片上传实在麻烦,所以只上传少量而已),项目中用到了工厂模式,解耦BLL层和DLL层 1.登录功能, ...
- 如何查看mysql 默认端口号和修改端口号
http://blog.itpub.net/26148431/viewspace-1466379/ 1,登录mysql 2,使用命令show global variables like 'port'; ...