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.退出

流控图:

最新文章

  1. C语言中的结构体
  2. 水一道NOIP2002提高组的题【A003】
  3. gulp监听文件变化,并拷贝到指定目录
  4. jquery分页插件
  5. Silverlight:针式打印机文字模糊的改善办法
  6. windows编程中关于“关闭窗口无法退出进程”的解决方法
  7. Linux 安装php
  8. SQL 分组查询 group by
  9. 一份Java学习路线图
  10. 理解Http协议(一)
  11. js中定义变量加var与不加var的区别?
  12. 3、HelloKhala示例说明
  13. c#入门系列——类和对象的代码实现
  14. 【Python】 上下文管理器和contextlib
  15. JDK1.8源码(六)——java.util.LinkedList 类
  16. datetime字符串中含T
  17. JavaScript标准库之 ---- &#160;Object
  18. ES6中Object.assign() 方法
  19. springboot学习之授权Spring Security
  20. this指针 new 和delete

热门文章

  1. Mall电商项目总结(二)——nginx负载均衡配置和策略
  2. 【USACO OPEN 10】hop
  3. 分布式锁(Zookeeper实现)
  4. 使用openssl的aes各种加密算法
  5. BZOJ4936:match (不错的分治)
  6. java虚拟机内存溢出和泄漏实例
  7. BZOJ_1004_[HNOI2008]Cards_burnside+DP
  8. 登录加密 md5
  9. Linux 下Input系统应用编程实战
  10. linux之打包压缩命令