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. EJB学习手记

    周末两天,看了两天的ejb知识.公司有个转发消息的程序,里面是根据ejb/jms+cdi/event做的,这些之前没接触过. 总而言之,从中学到了很多东西,从ejb到webservice. jboss ...

  2. scala 删除一个文件夹以及其子目录和文件

    /** * 删除一个文件夹,及其子目录 @param dir */ def deleteDir(dir: File): Unit = { val files = dir.listFiles() fil ...

  3. 调用阿里云API 的demo示例(java/python)

    Java 示例 // 创建DefaultAcsClient实例并初始化 DefaultProfile profile = DefaultProfile.getProfile(vo.getAliRegi ...

  4. [POJ-3237] [Problem E]

    Tree Time Limit: 5000MS   Memory Limit: 131072K Total Submissions: 13156   Accepted: 3358 题目链接 http: ...

  5. “全栈2019”Java多线程第十三章:线程组ThreadGroup详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...

  6. python list 嵌套 dict 按照字典中的单个key进行单级排序 或 按照多个键进行多级排序

    student = [{"no": 1,"score": 90},{"no": 2,"score": 90},{&quo ...

  7. [ActionScript 3.0] 通过as3操作web内容

    package com.controls.utils { import flash.net.*; import flash.utils.ByteArray; import flash.external ...

  8. YC全球总裁:我招揽陆奇好多年,如今终于如愿了!

    简评:YC 老大多年来一直在努力招揽陆奇,终于如愿了. YC 总裁 Sam Altman 在 8 月 14 日,发布了关于陆奇以及 YC 中国的公告,全文如下: 我非常荣幸地宣布,陆奇加入 YC 并且 ...

  9. Linux 服务器加入Windows AD

    背景信息: Windows AD Version: Windows Server 2012 R2 zh-cn 计算机全名:hlm12r2n1.hlm.com 域:hlm.com 域控管理员:stone ...

  10. 定期删除Azure存储账号下N天之前的数据文件-ASM

    ######RemoveStorageBlob*DaysOld##### <# .SYNOPSIS Remove all blob contents from one storage accou ...