要求:

1、写一段商城程购物车序的代码
2、用列表把商城的商品清单存储下来,存到列表 shopping_mail
3、购物车的列表为shopping_cart
4、用户首先输入工资金额,判断输入为数字
5、用户从商城购物清单中选择购买物品,每次购买成功就用工资减去物品单价
6、判断用户金额是否足够,不足够提示用户
7、如果用户不想再继续购物,则按Q键退出菜单
8、用户退出之后,将用户购买的清单打印出来。
9、尽量学习带颜色输出几个重点信息字符。

 # Author:show530

 shopping_mail = [
('Iphone',5800),
('Mac Pro',9800),
('Bike',800),
('Watch',10600),
('Coffee',31),
('Alex Python',120),
]
shopping_cart = [] salary=input("请输入您的工资金额:")
if salary.isdigit():
salary=int(salary)
while True:
for index,item in enumerate(shopping_mail):
print(index,item)
enter_number=input("请输入您要购买的商品编号:")
if enter_number.isdigit():
enter_number=int(enter_number)
if enter_number>-1 and enter_number<len(shopping_mail):
p_item=shopping_mail[enter_number]
if p_item[1]<=salary:
shopping_cart.append(p_item)
salary-=p_item[1]
print("您选购的商品金额是:\033[31m%s\033[0m,您的工资余额为:\033[31m%s\033[0m" % (p_item, salary))
else:
print("您的余额不足,无法继续购买!")
else:
print("您输入的商品编号不存在:")
elif enter_number=="q":
print("\033[0;32;40m------您本次购物清单为-------\033[0m")
for p in shopping_cart:
print(p)
print("您的余额为:\033[31m%s\033[0m"%(salary))
exit()
else:
print("\033[31m输入有误,必须输入数字或者正整数!\033[0m")

这个程序花了我较多时间,差不多一个晚上都在反复思考这个。

1、salary.isdigit()还不是太熟悉,这个方法的作用是检查用户输入的是否为数字,不过不知道为什么,输入浮点数也会报错。负数貌似也会报错。这里先囫囵吞枣一下。

2、对于多层嵌套循环还不熟悉,开始一直输出出现问题,主要原因就是嵌套格式不对。以后写程序之前要注意画一下流程图。

3、学习了颜色输出的用法。

python学习(8)实例:写一个简单商城购物车的代码的更多相关文章

  1. laravel学习:php写一个简单的ioc服务管理容器

    php写一个简单的ioc服务管理容器 原创: 陈晨 CoderStory 2018-01-14 最近学习laravel框架,了解到laravel核心是一个大容器,这个容器负责几乎所有服务组件的实例化以 ...

  2. python 学习笔记 12 -- 写一个脚本获取城市天气信息

    近期在玩树莓派,前面写过一篇在树莓派上使用1602液晶显示屏,那么可以显示后最重要的就是显示什么的问题了. 最easy想到的就是显示时间啊,CPU利用率啊.IP地址之类的.那么我认为呢,假设可以显示当 ...

  3. 【Python学习笔记三】一个简单的python爬虫

    这里写爬虫用的requests插件 1.一般那3.x版本的python安装后都带有相应的安装文件,目录在python安装目录的Scripts中,如下:   2.将scripts的目录配置到环境变量pa ...

  4. python学习之路-第六天-一个简单的脚本

    现在有一个需求:把某个目录下的文件备份到指定到另外一个目录下,而且压缩后文件为zip文件 # -*- coding:utf-8 -*- #! /usr/bin/python # Filename:ba ...

  5. DuiLib学习笔记2——写一个简单的程序

    我们要独立出来自己创建一个项目,在我们自己的项目上加皮肤这才是初衷.我的新建项目名为:duilibTest 在duilib根目录下面有个 Duilib入门文档.doc 我们就按这个教程开始入门 首先新 ...

  6. DuiLib学习笔记2.写一个简单的程序

    我们要独立出来自己创建一个项目,在我们自己的项目上加皮肤这才是初衷.我的新建项目名为:duilibTest 在duilib根目录下面有个 Duilib入门文档.doc 我们就按这个教程开始入门 首先新 ...

  7. 利用windows.h头文件写一个简单的C语言倒计时

    今天写一个简单的倒计时函数 代码如下: #include<stdio.h> #include<windows.h> int main() { int i; printf(&qu ...

  8. 用Python写一个简单的Web框架

    一.概述 二.从demo_app开始 三.WSGI中的application 四.区分URL 五.重构 1.正则匹配URL 2.DRY 3.抽象出框架 六.参考 一.概述 在Python中,WSGI( ...

  9. 动手写一个简单版的谷歌TPU-矩阵乘法和卷积

    谷歌TPU是一个设计良好的矩阵计算加速单元,可以很好的加速神经网络的计算.本系列文章将利用公开的TPU V1相关资料,对其进行一定的简化.推测和修改,来实际编写一个简单版本的谷歌TPU.计划实现到行为 ...

随机推荐

  1. 【官方文档翻译】SpringBootActuator生产特性

    翻译自 spring-boot 官方文档(版本:2.2.2.RELEASE) Spring Boot包含了许多附加功能,可以帮助您在将应用程序推送到生产环境时监视和管理它.您可以选择使用HTTP端点或 ...

  2. Office系列(1)---将Office文件(Word、PPT、Excel)转换为PDF文件

    需求: 将Office文件作为文章并在网页上预览,主要为(Word.PPT.Excel)3种类型文件. 研究了一下,找到了两种解决方案 直接调用微软的在线预览功能实现(预览前提:预览资源必须可以直接通 ...

  3. 使用 git 将代码推送到多个仓库

    使用 git 将代码推送到多个仓库 起因     起初,在 GitHub 建了一个仓库,200+ 的 commits .后来(终于在眼泪中明白...误

  4. WiFi模块Demo(新手教程)图文详解模块使用教程

    本文出自APICloud官方论坛,感谢论坛版主 Mr.ZhouHeng 的分享. 第一步我们需要在开发控制台创建一个Native App应用以及添模块的准备工作: 按照下图步骤 输入完点创建完成之后 ...

  5. Java多线程的创建(二)

    前言: 虽然java的API中说创建多线程的方式只有两种(There are two ways to create a new thread of execution),分别是继承Thread类创建和 ...

  6. 一道简单到爆 Java面试题,居然挂了一票人

    很多时候bug往往都是出在,我们觉得非常简单,不起眼的基础知识上 年前公司最后一波招人,为年后项目做技术储备,主要招聘对象初中级Java开发,要求也并没有多苛刻,唯一一点基础稍好,快速上手做项目就行. ...

  7. selenium chrome headless无界面引擎

    注意:PhantomJS已被舍弃 chrome headless 在打开浏览器之前添加参数 import time import sys from selenium import webdriver ...

  8. 一行代码去掉Devexpress弹窗

    使用的是.net hook方法: 使用代码: using System; using System.Windows.Forms; namespace AlexDevexpressToolTest { ...

  9. eclipse android ndk开发遇到的问题.

    1. error:parameter name omitted 用javah生成的.h文件中,方法是没有指定形参的,实现的时候需要我们在实现的方法定义中加上形参. 2. 'NewStringUTF' ...

  10. makefile自动依赖生成

    自动依赖生成 基于make的构建环境要正确工作, 一个很重要(也很烦人)的任务是, 在makefile中正确列 举依赖. 这个文档将介绍了一个非常有用的让make自身来创建和维护这些依赖的方法. 文章 ...