python 循环嵌套
需求如下:
1.
#定义商品列表类
# def shangpin_list():
# for i in com_list:
# print(com_list.index(i),end=" ")
# for j in i:
# print(j,end=" ")
# print()
# else:
# return True #程序入口 salary = int(input("请输入您的工资:"))
com_list = [['iphone6s',5000],['mac book',9000],['coffee',32],['python book',80]]
shopping_cart_list = [] #购物车
cum_money = [] #账单
car_list = []
com_count = 0
while True:
if salary >= 0:
for i in com_list: #展示商品
print(com_list.index(i),end=" ")
for j in i:
print(j,end=" ")
print()
gm = input('''想买点啥?
输入商品编号即可购买,输入quit退出商城。
请输入》》》''') #开始购物
if gm != 'quit':
try:
gm = int(gm)
salary = salary - int(com_list[gm][1])
if salary >= 0:
com = com_list[gm][0] #购买的商品
com_money = com_list[gm][1]
shopping_cart_list.append([com,com_money]) #购买的商品
com_count = com_count+com_money
print('购买',com,'您需要支付',com_money,'元--->扣除后余额为:%d'%salary)
else:
print("余额不足,骚年快去挣钱吧!")
except ValueError or IndexError as err:
print("输入有误呕!")
else:
print( '本次您购买了以下商品,共计花费:%d元'%com_count)
for ij in shopping_cart_list:
print( '%s %s元'%((ij[0]),ij[1]))
else:
exit("您还有余额%d欢迎下次光临"%salary)
continue
购物车
#!/user/bin/env python3
# -*- coding=utf-8 -*-
#__author__:gq
#date:2016/8/24 0024 dic = {'北京':{'昌平':['沙河','西二旗','西三旗'],'海淀':['圆明园']}, '河北':{'石家庄':['新华区'],'衡水':['老白干']},'广州':{'深圳':['华强北']}}
# for index in dic.items():
# print(index)
#一级菜单
def menu_1():
dic_01={}
while True:
print('一级菜单'.center(55,'#'))
for index,menu_name in enumerate(dic):
print(index,menu_name)
dic_01.setdefault(index,menu_name)
print(dic_01)
chose = input('输入菜单序号进入下级菜单,输入b反回上一级菜单')
if chose.isdigit():
chose = int(chose)
if dic_01.get(chose) == None:
print('没有这%s这个菜单项,请重新输入!'%chose)
continue
else:
#print(dic_01.get(chose))
menu_2(dic_01.get(chose))
elif chose == 'q':
print("程序退出")
else:
print("您的输入有误,请重新输入!") #二级菜单
def menu_2(name):
dic_2 = {}
while True:
flag = False
print("%s 二级菜单".center(55,'#')%name)
for index,menu in enumerate(dic[name]):
print(index,menu)
dic_2.setdefault(index,menu)
print(dic_2)
chose2 = input('输入菜单序号进入下级菜单,输入b反回上一级菜单,输入q退出')
if chose2.isdigit(): #判断用户输入的内容是否是数字样式
chose2 = int(chose2)
#print(dic_2.get(chose2))
if dic_2.get(chose2) == None:
print('没有这%s这个菜单项,请重新输入!'%chose2)
else:
print(dic_2.get(chose2))
flag = menu_3(name,dic_2.get(chose2))
if flag:
return True
else:
continue
elif chose2 == 'q': #用户输入‘q'则退出程序
print("程序退出")
elif chose2 == 'b': #用户输入'b'则反回上级菜单
break
else:
print("您的输入有误,请重新输入!") #三级菜单
def menu_3(name1,name2):
dic_3 ={}
while True:
print('%s 三级菜单'.center(55,'#')%name2)
for index3,menu3 in enumerate(dic[name1][name2]):
print(menu3)
dic_3.setdefault(index3,menu3)
print(dic_3)
chose3 = input('输入b反回上一级菜单,输入m反回主菜单,输入q退出')
if chose3 == 'q':
print("程序退出")
exit()
elif chose3 == 'm':
return True
elif chose3 == 'b':
return False
else:
print("您的输入有误,请重新输入!") while True:
menu_1()
三级菜单
dic = {'北京':{'昌平':{'沙河':{},'回龙观':{},'巩华城':{}},
'海淀':{'圆明园'}},
'河北':{'石家庄':{'新华区'},
'衡水':{'老白干'}},
'广州':{'深圳':{'华强北'}}}
dic1 = dic
parent_list=[]
while True:
for i in dic1:
print(i)
choose = input('>>>').strip()
if len(choose)==0:continue
if choose in dic1:
parent_list.append(dic1)
dic1 = dic1[choose]
elif choose == 'b':
if parent_list:
dic1 = parent_list.pop()
else:
print("无此项")
三级菜单进化版
python 循环嵌套的更多相关文章
- [Python]循环嵌套nested loop-练习题
[python的for循环嵌套打印如下图形] 图形一: ******* ******* ******* ******* 图形二: * *** ***** ******* 图形三: * *** **** ...
- Python循环嵌套
可以在循环体内嵌入其他的循环体,如在while循环中可以嵌入for循环, 反之,你可以在for循环中嵌入while循环. 实例: 以下实例使用了嵌套循环输出3~13之间的素数: 以上实例输出结果: F ...
- Python基础之if判断,while循环,循环嵌套
if判断 判断的定义 如果条件满足,就做一件事:条件不满足,就做另一件事: 判断语句又被称为分支语句,有判断,才有分支: if判断语句基本语法 if语句格式: if 判断的条件: 条件成立后做的事 . ...
- Python基础总结之第八天开始【while循环以及for循环,循环嵌套等循环相关的知识点】(新手可相互督促)
ennnnn,年薪20万的梦想是不是又进了一步: 循环,什么是循环,循环就是电池有电,手机屏幕可以循环一整天的使用:循环就是地球不毁灭,太阳日复一日的出现...... 不接受反驳,谢谢!~ 只要条件满 ...
- 【python基础语法】多重循环嵌套,函数(第6天课堂笔记)
1.什么是函数?函数有什么作用? 函数都是有特定功能的,都是由一些有特定功能的进行封装完成的 2.已经学过了哪些内置函数?分别有什么作用? print:输出 input:输入 type:查询数据类型 ...
- Python 三级菜单与优化(一层循环嵌套)
优化的思路是使用单层循环嵌套完成三级菜单,这个优化思路我非常喜欢,我喜欢在编程的时候用最少的东西写出同样的效果,通常这样会绕来绕去,但非常有趣!!! 需求: 1.运行程序输出第一级菜单: 2.选择一级 ...
- python利用for..in遍历,while循环嵌套编译九九乘法表的几种模式
运用for....in...遍历的四种方向的九九乘法表: 左下角: import sysfor i in range(1,10): for j in range(1,i+1): sys.stdout. ...
- python之路day04--列表的增删改查,嵌套、元组的嵌套、range、for循环嵌套
列表增删改查 增加 append li = ['taibai','zy','nvshen'] li.append('aa') print(li) #['taibai', 'zy', 'nvshen', ...
- python循环语句详细讲解
想必大家都知道python循环语句吧,可以python循环语句有多种,比如for循环.while循环.if.else等等, 我们可以通过设置条件表达式永远不为 false 来实现无限循环,实例如下 ...
随机推荐
- Android开发-Android Studio使用问题解决
回头一看,很久没来更新了,归其原因,还是懒癌发作,倒是生活作息规律了,几乎每天都在11点前休息.今天趁着培训,使用android studio,发现几个坑: 1.android studio每次都提示 ...
- pointer on c
http://blog.csdn.net/daniel_ice/article/details/6857019 http://www.cppblog.com/cuigang/archive/2008/ ...
- ios 给图片添加水印
//第一种添加水印方法 -(UIImage *)watermarkImage:(UIImage *)img withName:(NSString *)name{ NSString* mark = na ...
- Access denied for user 'root'@'localhost' (using password:YES)
版权所有,未经博主允许不得转载. 今天发现服务器mysql连接不上,报 can't connect to mysql server on 'root'@'ip' (61) 照例ssh到服务器,发现my ...
- 1.mysql基础之 php 连接
1.连接数据库 $db=@mysql_connect('DB_HOST','DB_USER','DB_PASS') or die("Unable to connect"); DB_ ...
- Linux内核分析总结
张潇月 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 学习目录: (1)计算机是如何工作的 h ...
- Mac升级到Yosemite后默认的php版本不支持imagetfftext函数问题解决
Mac升级到yosemite后,php也自动升级,运行项目的时候发现后台验证码显示不出来.调试一下发现imagetfftext这个函数不存在,应该gd没有安装完全,因为Mac上的php实现系统自带的, ...
- hql between and 查询
public IList<PrdtStdEntity> QueryPrdtStd(PrdtStdEntity prdtStdEntity) { try { var hql = " ...
- memcached tomcat maven 学习记录
2016.12.11 maven 快速搭建项目,只要有pom.xml文件配置好依赖 可以把项目切割(具体切割出来的块怎么用?) nginx 负载均衡 文件服务器 主要配置nginx.conf 文件 ...
- ---awk 调shell 命令的方法
cat /etc/passwd | awk -F: '/root/{ system ("echo "$1) }'