python作业三级菜单day1(第一周)
一.作业需求:
1. 运行程序输出第一级菜单
2. 选择一级菜单某项,输出二级菜单,同理输出三级菜单
3. 菜单数据保存在文件中
4. 让用户选择是否要退出
5. 有返回上一级菜单的功能
二三级菜单文件内容:
{
'北京':{
"昌平":{
"沙河":["oldboy"],
"天通苑":["链家地产","我爱我家"]
},
"朝阳":{
"望京":["奔驰","陌陌"],
"国贸":{"CICC","HP"},
"东直门":{"Advent","飞信"},
},
"海淀":{},
},
'山东':{
"德州":{"扒鸡"},
"青岛":{"啤酒"},
"济南":{"趵突泉"}
},
'广东':{
"东莞":{"有小姐姐~~"},
"常熟":{"我也不知道是什么"},
"佛山":{"无影脚"},
},
}
代码:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author: Colin Yao
import sys
with open('three','r',encoding='utf-8') as f:
file = f.read()
for lines in file:
f_str =str(file)
data = eval(f_str) def list():
for i in data:
print(i)
def chos1(choice1):
while choice1 != 'q':
global one
one = choice1
if choice1 in data:
for i2 in data[one]:
print("\t", i2)
chos2(input("请输入第二层:"))
break
else:
error = input("输入错误,请重新输入第一层:")
if error == 'q':
sys.exit()
else:
chos1(error)
else:
sys.exit() def chos2(choice2):
while choice2 != 'q':
global two
two = choice2
if choice2 in data[one]:
for i3 in data[one][two]:
print("\t\t", i3)
chos3(input("请输入第三层:"))
break
elif choice2 == 'b':
list()
chos1(input("请输入第一层:"))
break
else:
error2 = input("输入错误,请重新输入第二层:")
if error2 == 'q':
sys.exit()
else:
chos2(error2)
else:
sys.exit() def chos3(choice3):
while choice3 != 'q':
global three
three = choice3
if choice3 in data[one][two]:
for i4 in data[one][two][three]:
print("\t\t\t", i4)
chos4(input("最后一层,退回上一层请按‘b’,退出请按'q"))
break
elif choice3 == 'b':
chos1(one)
break
else:
error3 = input("输入错误,请重新输入第三层:")
if error3 == 'q':
sys.exit()
else:
chos3(error3)
else:
sys.exit() def chos4(choice4):
while choice4 != 'q':
if choice4 == 'b':
chos2(two)
else:
chos4(input("最后一层了,退回上一层请按‘b’,退出请按'q'"))
else:
sys.exit() print("退出请按'q',返回上级菜单请按'b,第一层不能使用返回'")
list()
chos1(input("请输入第一层:"))
可以一次循环搞定
待补充ing
python作业三级菜单day1(第一周)的更多相关文章
- python作业:三级菜单(第一周)
一.作业需求: 1. 运行程序输出第一级菜单 2. 选择一级菜单某项,输出二级菜单,同理输出三级菜单 3. 菜单数据保存在文件中 4. 让用户选择是否要退出 5. 有返回上一级菜单的功能 二.三级菜单 ...
- python之三级菜单
python之三级菜单 要求: 1. 运行程序输出第一级菜单 2. 选择一级菜单某项,输出二级菜单,同理输出三级菜单 3. 菜单数据保存在文件中 4. 让用户选择是否要退出 5. 有返回上一级菜单的功 ...
- python打怪之路【第三篇】:利用Python实现三级菜单
程序: 利用Python实现三级菜单 要求: 打印省.市.县三级菜单 可返回上一级 可随时退出程序 coding: menu = { '北京':{ '朝阳':{ '国贸':{ 'CICC':{}, ' ...
- day1作业--三级菜单
作业概述: 写一个三级菜单 实现如下功能: (1)可依次选择进入各子菜单 (2)在每一级按“b”都可以返回上一级,按“q"都可以退出 流程图: readme: 简介: three_menu. ...
- 【python】——三级菜单
作业需求: 打印三级菜单 可返回上一级 可随时退出程序 #!/usr/bin/env python # -*- coding:utf-8 -*- #Author: __Json.Zzgx__ menu ...
- Python入门-三级菜单
作业题目: 三级菜单 作业需求: menu = { '北京':{ '海淀':{ '五道口':{ 'soho':{}, '网易':{}, 'google':{} }, '中关村':{ '爱奇艺':{}, ...
- Python学习-------------------三级菜单简单版
题目: 多级菜单 1.三级菜单 2.可依次选择进入的各子菜单 3.所需新知识点:列表.字典 ReadMe: 这个做循环,比较绕脑子 点开运行即可 Min ...
- python作业ATM(第五周)
作业需求: 额度 15000或自定义. 实现购物商城,买东西加入 购物车,调用信用卡接口结账. 可以提现,手续费5%. 支持多账户登录. 支持账户间转账. 记录每月日常消费流水. 提供还款接口. AT ...
- python实现三级菜单源代码
8月4号早晨天气晴,继续学习‘Alex’的python视频,写了用字典实现三级菜单的代码,都是循环和判断比较lower,废话不多说直接贴码: #!/user/bin/env python #-*-co ...
随机推荐
- 第一章 持续集成jenkins工具使用之部署
1.1 硬件要求 内存:至少512MB 磁盘空间:10G JDK8 最好同时安装jre 从官网https://jenkins.io/download/下载最新的war包(Generic Java Pa ...
- IE BHO的IObjectWithSite接口
Internet Explorer的BHO的对象必须实现IObjectWithSite接口.该接口是IE用来对插件进行管理和通讯的一个接口,其有SetSite和GetSite两个方法,当IE加载和卸载 ...
- 判断IP地址是否在指定范围内的方法
比如给定一个ip段:127.0.0.1 ~ 127.0.0.255,我们想判断一个给定的ip地址是否在此段内,可以先将ip地址转换成整数,然后整数比较大小就很容易了. 例如: 127.0.0.1 = ...
- 升级到EFCore2.0
EF Core 2.0上周已经发布了 文章内容基于vs2017,请大家先安装好vs2017(15.3). 本篇文章主要讲下差异点,跟之前一样的就不再重复了. 文章目录(差异点): 一.新建项目, EF ...
- android应用打前需要准备些啥?
发布之前我们需要准备的东西 参考了google官方和结合国内开发经验 1) 用户协议(本地.网络.API) 2) 签名文件(用于为APP加密,唯一标签) 3) 程序图标(第一个面对用户,准备不同的但合 ...
- (转)把hadoop源码关联到eclipse工程
把hadoop源码关联到eclipse工程 转:http://www.superwu.cn/2013/08/04/355 在eclipse中阅读源码非常方便,利于我们平时的学习,下面讲述如何把 ...
- 2017中国大学生程序设计竞赛-哈尔滨站 A - Palindrome
Palindrome Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)Tota ...
- lalala
<script type="text/javascript"> var a_idx = 0; var b_idx = 0; var a = new Array(&quo ...
- BZOJ4946 & 洛谷3826 & UOJ318:[NOI2017]蔬菜——题解
https://www.lydsy.com/JudgeOnline/problem.php?id=4946 https://www.luogu.org/problemnew/show/P3826 ht ...
- angularJS入门小Demo2 【包含不用数据库而用data.json格式响应前台的ajax请求方式测试】
事件绑定: <html> <head> <title>angularJS入门小demo-5 事件指令</title> <script src=&q ...