PRODUCT_LIST = [
['iphone7',6500],
['macbook',12000],
['pythonbook',66],
['bike',999],
['coffee',31]
]
SHOPPING_CAR=[]
while True:
salary = input("salary:")
if salary.isdigit():
salary=int(salary)
break
else:
continue
while True:
print("\033[32;1m欢迎来到购物商城!\033[0m".center(50,"*"))
for index,i in enumerate(PRODUCT_LIST):
print(index,i)
continue
print("\033[32;1m祝您购物愉快!\033[0m".center(50, "*"))
choice = input("your choice is:")
if choice.isdigit():
choice=int(choice)
if choice > 0 and choice < len(PRODUCT_LIST):
p_ch = PRODUCT_LIST[choice]
if salary >= p_ch[1]:
salary -= p_ch[1]
SHOPPING_CAR.append(p_ch)
print("您选购的产品是:\033[31;1m[%s]\033[0m,您的余额还剩:\033[31;1m[%s]\033[0m"%(p_ch, salary))
else:
print("您的余额不足,您只有[%s]"%(salary))
else:
print("您输入的产品不存在!")
elif choice =="q":
choice2=(input("您要退出商品城吗?[y/n]:"))
if choice2 =="y":
print("\033[41;1m您购买的商品是:\033[0m".center(50,"*"))
for i in (SHOPPING_CAR):
print(i)
print("Your banlance salary is \033[31;1m%s\033[0m " % (salary))
elif choice2 == "n":
continue
else:
break
exit()

解释:

1,定义1个变量PRODUCT_LIST,来加载商品列表
2,定义1个变量SHOPPING_CAR,来加载已经购的商品
3,定义一个if语句,如果输入的钱数是正整数,那么就继续下面的步骤,不然就继续输入,用一个while循环保证一直输入
4,定义一个while循环,表示可以一直选择商品。
5,定义一个for循环,用enumerate格式把商品打印出来
6,并且打印一行文字“欢迎来到购物商城”等并添加颜色,后面也有添加颜色。
7,判断:输入的商品序号是否为正整数,如果是,继续
8,判断,如果输入的0<序号<商品种类,继续
否则,输出,“您输入的产品不存在”
9,判断所选商品的价格是否小于自己的钱数,
如果小于自己的钱数,输出:选择的产品,并且计算 出剩余钱数,否则,输出“您的余额不足,您只有..”
10.如果输入q,那么就进行判断,选择y或者n
如果选择n,那么就继续输入
如果选择y,那么,就打印出所购买的商品,和剩余的钱数。
11.退出

流控图:

Day2课后作业:购物车简单版的更多相关文章

  1. Day2课后作业:三级菜单简单版

    menu = { '北京':{ '海淀':{ '五道口':{ 'soho':{}, '网易':{}, '谷歌':{} }, '中关村':{ '爱奇艺':{}, '汽车之家':{}, 'youku':{ ...

  2. Day2课后作业:sed替换程序

    #!/usr/bin/env python #_*_conding:utf-8_*_ import sys,os old_file = sys.argv[1] new_file = sys.argv[ ...

  3. 吴恩达课后作业学习2-week1-2正则化

    参考:https://blog.csdn.net/u013733326/article/details/79847918 希望大家直接到上面的网址去查看代码,下面是本人的笔记 4.正则化 1)加载数据 ...

  4. 老男孩Day11作业:selectors版socket

    一.作业需求: 使用SELECT或SELECTORS模块实现并发简单版FTP 允许多用户并发上传下载文件 二.readme 一.作业需求: 使用SELECT或SELECTORS模块实现并发简单版FTP ...

  5. JavaMail简单版实验测试

    前言: 最近由于实现web商城的自动发送邮件功能的需求,故涉猎的邮箱协议的内部原理.现将简单版的Java Mail实例做个代码展示,并附上其中可能出现的bug贴出,方便感兴趣的读者进行测试! 1.载入 ...

  6. 小米抢购(简单版v0.1)-登录并验证抢购权限,以及获取真实抢购地址

    小米(简单版)-登录并验证抢购权限,以及获取真实抢购地址! 并不是复制到浏览器就行了的   还得传递所需要的参数 这里只是前部分  后面的自己发挥了 { "stime": 1389 ...

  7. String字符串类课后作业

    String动手动脑和课后作业 请运行以下示例代码StringPool.java,查看其输出结果.如何解释这样的输出结果?从中你能总结出什么? 结果: 总结:在Java中,内容相同的字串常量(&quo ...

  8. JAVA第三周课后作业

    JAVA课后作业 一.枚举类型 代码: enum Size{SMALL,MEDIUM,LARGE}; public cl ass EnumTest { public static void main( ...

  9. java课后作业

    课后作业之字串加密: 设计思想: 1.输入要加密的英文子串str 2.定义num=str的字符串长度 3.将字符串转化为单个字符 4.每个字符+3,向后移3个 5.定义str1,将新得到的每个字符加到 ...

随机推荐

  1. Mac终端操作SVN指令

    1.将文件checkout到本地目录 svn checkout path(path是服务器上的目录)   例如:svn checkout svn://192.168.1.1/pro/domain    ...

  2. [NOIP2011提高组day2]-2-聪明的质监员

    2.聪明的质监员(qc.cpp/c/pas) [问题描述] 小 T 是一名质量监督员,最近负责检验一批矿产的质量.这批矿产共有 n 个矿石,从 1到 n 逐一编号,每个矿石都有自己的重量 wi 以及价 ...

  3. 基于Jquery的XML解析器,返回定制的HTML

    依据HTML模板返回解析的XML 依赖jQuery 1.4​1. [代码]基于Jquery的xml解析器并返回定制的HTML     /** *  jQuery插件 *  Author: pureco ...

  4. 日志的打印 —— Java 支持

    1. java.util.logging.Logger 日志级别(logLevel) OFF,Integer.MAX_VALUE SEVERE,1000 WARNING,900 INFO,800 CO ...

  5. smali语法积累记录

    1.constructor 我们知道运行一个类的时候会先调用static方法中的内容,比如: static { System.loadLibrary("qihooTest"); } ...

  6. [转载]Android版本更新与JSON解析

    /*  *注意,这篇文章转载自:  *http://blog.csdn.net/xjanker2/article/details/6303937  *一切权利归作者所有,这里只是转载,曾经用到过这篇文 ...

  7. Dom4j 操作文件,文件相对路径的问题

    System.out.println("xml路径:"+ServletActionContext.getServletContext().getRealPath("/zx ...

  8. opencv 知识点笔记

    1.Opencv中cvScalar是CV_RGB的宏,cvScalar的储存顺序是B-G-R,而CV_RGB的储存顺序是R-G-B

  9. rsync(四)技术报告

    1.1 摘要 本报告介绍了一种将一台机器上的文件更新到和另一台机器上的文件保持一致的算法.我们假定两台机器之间通过低带宽.高延迟的双向链路进行通信.该算法计算出源文件中和目标文件中一致的部分(译者注: ...

  10. 动态规划专题 多阶段决策问题 蓝桥杯 K好数

    问题描述 如果一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字,那么我们就说这个数是K好数.求L位K进制数中K好数的数目.例如K = 4,L = 2的时候,所有K好数为11.13.20.22 ...