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. TSQL--标示列、GUID 、序列

    --1. IDENTIY 列不能为空,不能设默认值,创建后不能使用ALTER TABLE TableName ALTER COLUMN修改,每张表只能有一个自增列--2. 查看当前值:SELECT I ...

  2. CentOS 7安装OpenVPN

    命令很简单,但是网上似乎没资料,只有RHEL6以下的资料. 直接贴命令: 1 2 3 4 5 cd ~ wget http://swupdate.openvpn.org/as/openvpn-as-2 ...

  3. django drf CreateModelMixin和Serializer.validate_columun

    view demo class ValidateCodeSet(mixins.CreateModelMixin, viewsets.GenericViewSet): serializer_class ...

  4. php 命令行脚本运行php文件简单演示

    众说周知,php在web服务器领域有着很重要的角色,可是它不仅仅在web领域,只是在web领域表现更为优秀! 它基本有三种用途: web服务端脚本的编写 应用程序图形界面(类似windows自带的计算 ...

  5. ASP.net 居中

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs& ...

  6. 了解eslint

    1.简介:eslint检查我们写的 JavaScript 代码是否满足指定规则的静态代码检查工具. JSHint 和 JSLint 也是静态代码检查工具,但伴随着发展,他们已经无法满足需求,于是ESl ...

  7. matlab中显示灰阶图像

    matlab的数据源文件中400张图片,每张图片是一个112*92的矩阵表示,而400张图片存储在一个cell数组ime中,显示第一张图片,指令是: colormap(gray) imagesc(im ...

  8. 题目1001:A+B for Matrices(简单循环)

    问题来源 http://ac.jobdu.com/problem.php?pid=1001 问题描述 给你两个形式相同的矩阵,对应位置相加得到新矩阵,计算里面全为0的行数和列数. 问题分析 这里其实只 ...

  9. Java多线程——线程封闭

    线程封闭:当访问共享的可变数据时,通常需要同步.一种避免同步的方式就是不共享数据.如果仅在单线程内访问数据,就不需要同步,这种技术称为线程封闭(thread  confinement) 线程封闭技术一 ...

  10. java运行时的内存区域

    1.概述 java虚拟机在执行java程序的过程中会把它所管理的内存划分为若干个不同的数据区域. 这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则依赖用户线 ...