码迷,mamicode.com
首页 > 编程语言 > 详细

DAY.15_Python

时间:2018-04-14 00:38:26      阅读:206      评论:0      收藏:0      [点我收藏+]

标签:状态   打印   soho   lse   print   城市   完成   错误   火车站   

昨天完成了三级菜单和购物车程序的作业:

""" .__author__.=,"JerseyHg"

作业要求:1. 可依次选择进入到下一级菜单;2. 可从任意i一层往回退到上一层;3. 可从任意一层退出程序。

思路:1. 定义字典;
2. while [如果一直没有按退出键,则一直true,循环继续——保证即使不输入,程序也不停地在运行];
3. 打印出字典中第一级——key [for 语句];
4. 让用户输入选择
a. 进入到下一级
b. 当按返回键时——按返回键,会定义此循环false——退出此循环,进入循环同等级的下一条语句——此条语句的目的则为定义该返回键为true,以免导致上一级的循环也被false;
c. 当按中断键时——按终止键,则不再在结束此级循环的语句下加定义终止状态为true,以确保终止此次循环后,在返回上一级循环的时候仍旧为false,继续终止循环,直到退出所有的循环,结束程序。
"""
menu = {
‘北京‘: {
‘海淀‘: {
‘五道口‘: {
‘soho‘: {}, ‘网易‘: {}, ‘google‘: {}
},
‘中关村‘: {
‘爱奇艺‘: {}, ‘汽车之家‘: {}, ‘优酷‘: {}
},
‘上地‘: {
‘百度‘: {}
}
},
‘昌平‘:{
‘沙河‘: {
‘老男孩‘: {}, ‘北航‘: {}
},
‘天通苑‘: {},
‘回龙观‘: {}
},
‘朝阳‘: {},
‘东城‘: {}
},
‘上海‘: {
‘闵行‘: {
‘人民广场‘: {
‘炸鸡店‘: {}
}
},
‘闸北‘: {
‘火车站‘: {
‘携程‘: {}
}
},
‘浦东‘: {}
},
‘山东‘: {}
}
——————————————————————————————————————————————————————黄色部分是设置的字典部分,以供下面程序进行查询——————————————————————————————————————————————
q = True
Q = True
——————————————————————————————————————————————————————红色部分的作用是为了提供了bool变量,使while循环语句进行相应的判断,如果用户在想返回上一级菜单的时候,那么就在提示的时候键入q,如果想退出程序就键入Q(虽然这里两个变量都是True,但是如果键入后

while q and Q: # 判断有没有按退出键,如果没有按,则进行第一级while循环
for i in menu:
print(i)
province = input(‘请输入你要查找的省份或者输入Q退出程序:‘) # 输入你想要查询的城市名称
if province in menu: # 如果你上一步输入的城市名称在menu字典中,那么进行下一级的城市搜索中
———————————————————————————————————————————————————————绿色部分的作用是 1.如果判断条件是True,那么久进入以下的循环;——————————————————————————————————————————————————————————————————————————————————————————————
2.首先将menu字典的第一级key打印出来,以供用户选择;
3.判断用户是否输入的是第一级key中的值,如果是的,则进入下一级菜单;

        while q and Q:
for city in menu[province]:
print(city)
city = input(‘请输入你要查找的城市或者输入q返回,Q退出程序:‘)
if city in menu[province]: # 如果输入的内容在city列表里面,那么就进行区的检索,或者输入的值是q则跳出此级循环,返回上一级菜单,或者输入的为Q,那么就跳出整个循环;
——————————————————————————————————————————————————————蓝色部分的作用是  1.如果判断条件是True,那么久进入以下的循环;————————————————————————————————————————————————————————————————————————————————————————————————
                                                                      2.首先将menu字典的第一级key打印出来,以供用户选择;
3.判断用户是否输入的是第一级key中的值,如果是的,则进入下一级菜单;
                while q and Q:
for district in menu[province][city]:
print(district)
district = input(‘请输入你要查找的街道或者输入q返回,Q退出程序‘)
if district in menu[province][city]:
——————————————————————————————————————————————————————橙色部分的作用是  1.如果判断条件是True,那么久进入以下的循环;
                                                                      2.首先将menu字典的第一级key打印出来,以供用户选择;
3.判断用户是否输入的是第一级key中的值,如果是的,则进入下一级菜单;
while q and Q:
for place in menu[province][city][district]:
print(place)
place = input(‘已经到达最后一页,按q返回,Q退出程序:‘)
if place == ‘q‘:
q = False
elif place == ‘Q‘:
Q = False
else:
print(‘输入错误!‘)
q = True
———————————————————————————————————————————————————————对应上面黑色部分 1.如果判断条件是True,那么久进入以下的循环;
                                                                      2.首先将menu字典的第一级key打印出来,以供用户选择;
3.判断用户是否输入的是第一级key中的值,如果是的,则进入下一级菜单;
                                                                      4.如果判断出用户输入的是q,那么就使bool变量q变为False(这么做的原因是可以让程序再次进入该层while判断的时候,能够让退出该层循环)*****但是需要注意的是,q的作用只是退出该层循环,返回到上层中,所以我们再结束该层while循环的后面,需要加上让q重新返还成True的语句,以免导致继续向上层退出循环*****
                                                                      5.如果判断出用户输入的是Q,那么就使bool变量Q变为False,让程序跳出while循环
                                                                      6.如果判断用户输入的值,不属于以上3,4中的任何值,那么就输出“用户输入错误!”
                    elif district == ‘q‘:
q = False
elif district == ‘Q‘:
Q = False
else:
print(‘输入错误!‘)
q = True
———————————————————————————————————————————————————————对应上面蓝色部分 4.如果判断出用户输入的是q,那么就使bool变量q变为False(这么做的原因是可以让程序再次进入该层while判断的时候,能够让退出该层循环)*****但是需要注意的是,q的作用只是退出该层循环,返回到上层中,所以我们再结束该层while循环的后面,需要加上让q重新返还成True的语句,以免导致继续向上层退出循环*****
                                                                      5.如果判断出用户输入的是Q,那么就使bool变量Q变为False,让程序跳出while循环
                                                                      6.如果判断用户输入的值,不属于以上3,4中的任何值,那么就输出“用户输入错误!”
            elif city == ‘q‘:                                               # 如果输入的是q,则将q的值变为false,以此让while循环判断为false,跳出此次循环,跳出了此次循环后,要将上一级while的q改为true
q = False
elif city == ‘Q‘:
Q = False
else:
print(‘输入错误!‘)
q = True
——————————————————————————————————————————————————————对应上面蓝色部分 4.如果判断出用户输入的是q,那么就使bool变量q变为False(这么做的原因是可以让程序再次进入该层while判断的时候,能够让退出该层循环)*****但是需要注意的是,q的作用只是退出该层循环,返回到上层中,所以我们再结束该层while循环的后面,需要加上让q重新返还成True的语句,以免导致继续向上层退出循环*****
                                                                      5.如果判断出用户输入的是Q,那么就使bool变量Q变为False,让程序跳出while循环

                                                                      6.如果判断用户输入的值,不属于以上3,4中的任何值,那么就输出“用户输入错误!”

elif province == ‘Q‘:
Q = False
else:
print(‘输入错误‘)
———————————————————————————————————————————————————————对应上面绿色部分 4.如果判断出用户输入的是Q,那么就使bool变量Q变为False,让程序跳出while循环————————————————————————————————————————————————————————————————————————————————————
5.如果判断用户输入的值,不属于以上3,4中的任何值,那么就输出“用户输入错误!”
 

DAY.15_Python

标签:状态   打印   soho   lse   print   城市   完成   错误   火车站   

原文地址:https://www.cnblogs.com/GGGGGGZX/p/8824789.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!