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入门基础---购物车小程序的更多相关文章

  1. [作业] Python入门基础--用户登陆

    让用户输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定登陆 #__author:Mifen #date: 2018/11/28 import time #自定义本地用户名和密码 user_nam ...

  2. python基础—购物车小程序练习

    要求:顾客可以根据商品编号购买工资允许内的商品,购买完成后,打印购买列表. def main(): salary = input("what is your salary ?") ...

  3. [作业] Python入门基础--三级菜单

    用字典存储数据 可以随时返回上一级,随时退出程序 只能用循环判断等内置方法,不得导入模块 menu = { '广东':{ '广州':{ '越秀区':{ '面积':'33.80', '人口':'115万 ...

  4. [作业] Python入门基础--猜年龄

    age = 20 while True: try: guess_age = int(input('guess age:')) if guess_age > age: print('Is bigg ...

  5. [作业] Python入门基础---九九乘法表

    1.while 循环 : x = 1 while x < 10: y = 1 while y <=x: print('%d*%d=%2d' % (y,x,x*y),end = '\t') ...

  6. python 购物车小程序

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

  7. Python入门基础学习 二

    Python入门基础学习 二 猜数字小游戏进阶版 修改建议: 猜错的时候程序可以给出提示,告诉用户猜测的数字偏大还是偏小: 没运行一次程序只能猜测一次,应该提供多次机会给用户猜测: 每次运行程序,答案 ...

  8. Python flask构建微信小程序订餐系统

    第1章 <Python Flask构建微信小程序订餐系统>课程简介 本章内容会带领大家通览整体架构,功能模块,及学习建议.让大家在一个清晰的开发思路下,进行后续的学习.同时领着大家登陆ht ...

  9. Python 入门基础6 --字符编码、文件操作1

    今日内容: 1.字符编码 2.字符与字节 3.文件操作 一.字符编码 了解: cpu:将数据渲染给用户 内存:临时存放数据,断电消失 硬盘:永久存放数据,断电后不消失 1.1 什么是编码? 人类能够识 ...

随机推荐

  1. 深入CSS属性(九):z-index

    如果你不是一名csser新手,想必你对z-index的用法应该有个大致的了解了吧,z-index可以控制定位元素在垂直于显示屏方向(Z 轴)上的堆叠顺序,本文不去讲述基本的API如何使用,而是去更深入 ...

  2. ffmpeg学习(二) 通过rtsp获取H264裸流并保存到mp4文件

    本篇将使用上节http://www.cnblogs.com/wenjingu/p/3977015.html中编译好的库文件通过rtsp获取网络上的h264裸流并保存到mp4文件中. 1.VS2010建 ...

  3. xshell显示隐藏窗口页签

    有时候不知道操作说了什么红框中的页签会消失,可以ctrl+shift+t 控制显示隐藏

  4. ActiveX 控件重绘无效问题,用CClientDC 而不是CPaintDC

    ActiveX 控件重绘子控件时,用Invalid()会出现无效的情况即不会更新界面. OnPaint 方法里,是用的 CPaintDC,经测试无效,后换CClientDC,发现可以,百度查他们的区别 ...

  5. WP8.1StoreApp(WP8.1RT)---MessageBox与MessageDialog

    在WP7和WP8中,MessageBox是跟WinForm中一样常用的对话框,但是有一个显著的缺点,就是WP7/8中默认的MessageBox是阻塞线程的.也许是由于这个原因,WP8.1/Win8中采 ...

  6. EF6 使用SQLite Code First

    SQLite是一款轻型关系型数据库,做一个小网站,用来替代sql server或者access数据库应该会是一个不错的选择. ASP.NET Entity Framework 6是微软平台的著名ORM ...

  7. openstack kolla 部署---不同的节点采用不同的物理接口

    在 /etc/kolla/globals.yml 文件中删除 neutron_external_interface  tunnel_interface  api_interface  storage_ ...

  8. php如何进行多进程与异步调用方法

    浏览器和服务器之间只一种面向无连接的HTTP协议进行通讯的,面向无连接的程序的特点是客户端请求服务端,服务端根据请求输出相应的程序,不能保持持久连接. 这样就出现了一个问题,一个客户端的相应服务端可能 ...

  9. net项目总结一(1)

    中小型新闻发布系统 代码结构:分为实体层,数据层与接口,数据工厂层,业务逻辑层,公共层,UI层(由于图片上传实在麻烦,所以只上传少量而已),项目中用到了工厂模式,解耦BLL层和DLL层 1.登录功能, ...

  10. 如何查看mysql 默认端口号和修改端口号

    http://blog.itpub.net/26148431/viewspace-1466379/ 1,登录mysql 2,使用命令show global variables like 'port'; ...