需求如下:

  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 循环嵌套的更多相关文章

  1. [Python]循环嵌套nested loop-练习题

    [python的for循环嵌套打印如下图形] 图形一: ******* ******* ******* ******* 图形二: * *** ***** ******* 图形三: * *** **** ...

  2. Python循环嵌套

    可以在循环体内嵌入其他的循环体,如在while循环中可以嵌入for循环, 反之,你可以在for循环中嵌入while循环. 实例: 以下实例使用了嵌套循环输出3~13之间的素数: 以上实例输出结果: F ...

  3. Python基础之if判断,while循环,循环嵌套

    if判断 判断的定义 如果条件满足,就做一件事:条件不满足,就做另一件事: 判断语句又被称为分支语句,有判断,才有分支: if判断语句基本语法 if语句格式: if 判断的条件: 条件成立后做的事 . ...

  4. Python基础总结之第八天开始【while循环以及for循环,循环嵌套等循环相关的知识点】(新手可相互督促)

    ennnnn,年薪20万的梦想是不是又进了一步: 循环,什么是循环,循环就是电池有电,手机屏幕可以循环一整天的使用:循环就是地球不毁灭,太阳日复一日的出现...... 不接受反驳,谢谢!~ 只要条件满 ...

  5. 【python基础语法】多重循环嵌套,函数(第6天课堂笔记)

    1.什么是函数?函数有什么作用? 函数都是有特定功能的,都是由一些有特定功能的进行封装完成的 2.已经学过了哪些内置函数?分别有什么作用? print:输出 input:输入 type:查询数据类型 ...

  6. Python 三级菜单与优化(一层循环嵌套)

    优化的思路是使用单层循环嵌套完成三级菜单,这个优化思路我非常喜欢,我喜欢在编程的时候用最少的东西写出同样的效果,通常这样会绕来绕去,但非常有趣!!! 需求: 1.运行程序输出第一级菜单: 2.选择一级 ...

  7. python利用for..in遍历,while循环嵌套编译九九乘法表的几种模式

    运用for....in...遍历的四种方向的九九乘法表: 左下角: import sysfor i in range(1,10): for j in range(1,i+1): sys.stdout. ...

  8. python之路day04--列表的增删改查,嵌套、元组的嵌套、range、for循环嵌套

    列表增删改查 增加 append li = ['taibai','zy','nvshen'] li.append('aa') print(li) #['taibai', 'zy', 'nvshen', ...

  9. python循环语句详细讲解

    想必大家都知道python循环语句吧,可以python循环语句有多种,比如for循环.while循环.if.else等等,   我们可以通过设置条件表达式永远不为 false 来实现无限循环,实例如下 ...

随机推荐

  1. Git Pro - (2)分支

    Git 保存的不是文件差异或者变化量,而只是一系列文件快照. 在 Git中提交时,会保存一个提交(commit)对象,它包含一个指向暂存内容快照的指针,作者和相关附属信息,以及一定数量(也可能没有)指 ...

  2. 高质量C++/C编程指南(林锐)

    推荐-高质量C++/C编程指南(林锐) 版本/状态 作者 参与者 起止日期 备注 V 0.9 草稿文件 林锐   2001-7-1至 2001-7-18 林锐起草 V 1.0 正式文件 林锐   20 ...

  3. SQL语句Where中使用别名作为判断条件

    当我们使用某个表达式作为输出的一列时,我们无法再Where条件中直接使用该列作判断条件.   例如下面的SQL语句: select id, (c1 + c2) as s from t1  where ...

  4. 规则引擎集成接口(七)规则引擎调用Java类

    规则引擎调用Java类 通过myEclipse编写一个简单工程,其中方法是两数相加等到结果,既结果1=输入值1+输入值2.实现规则调用外部接口的方法有三种. 1:接口实例:在myEclipse中制作一 ...

  5. SQL Server performance tips

    Refer to: http://harriyott.com/2006/01/sql-server-performance-tips A colleague of mine has been look ...

  6. KindEditor 编辑器使用方法

    http://kindeditor.net/docs/usage.html 编辑器使用方法 1. 下载编辑器 下载 KindEditor 最新版本,下载之后打开 examples/index.html ...

  7. APNS 服务推送通知

    1. 将app注册notification里面, 并从APNS上获取测试机的deviceToken. - (BOOL)application:(UIApplication *)application ...

  8. Spark Streaming源码解读之Driver中ReceiverTracker架构设计以具体实现彻底研究

    本期内容 : ReceiverTracker的架构设计 消息循环系统 ReceiverTracker具体实现 一. ReceiverTracker的架构设计 1. ReceiverTracker可以以 ...

  9. 火币网api的nodejs实现

    var request = require('request'); var crypto = require('crypto'); var config = { api_url: 'https://a ...

  10. 标识符,unicode和GBK

    标识符Identifier 作用: —给变量,类,和方法命名 Java标识符有如下命名规则: —标识符必须以字母,下划线,美元符开头. —标识符其他部分可以是字母,下划线,美元符和数字的任意组合. — ...