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 ...
随机推荐
- Chrome Extensions API & options
Chrome Extensions API options https://developer.chrome.com/extensions https://developer.chrome.com/e ...
- Qt快速入门学习笔记(画图篇)
1.Qt中提供了强大的2D绘图系统,可以使用相同的API在屏幕和绘图设备上进行绘制,它主要基于QPainter.QPaintDevice和QPaintEngine这三个类.其中QPainter用来执行 ...
- BZOJ 1022 小约翰的游戏(anti-sg)
这是个anti-sg问题,套用sj定理即可解. SJ定理 对于任意一个Anti-SG游戏,如果定义所有子游戏的SG值为0时游戏结束,先手必胜的条件: 1.游戏的SG值为0且所有子游戏SG值均不超过1. ...
- [洛谷P4999]烦人的数学作业
题目大意:定义$f(x)$表示$x$每一个数位(十进制)的数之和,求$\sum\limits_{i=l}^rf(i)$,多组询问. 题解:数位$DP$,可以求出每个数字的出现个数,再乘上每个数字的大小 ...
- JavaScript转换与解析JSON的方法
在JavaScript中将JSON的字符串解析成JSON数据格式,一般有两种方式: 一种为使用eval()函数. 使用Function对象来进行返回解析. 使用eval函数来解析,jquery的eac ...
- Javascript中的date对象和getTime()方法
有些时候我们需要计算两个日期间的天数,或者小时数等等.下面用JavaScript实现这个需求,然后学习一下需要用到的一些JavaScript函数. JavaScript程序如下: 1 <scri ...
- caffe数据集——LMDB
LMDB介紹 Caffe使用LMDB來存放訓練/測試用的數據集,以及使用網絡提取出的feature(為了方便,以下還是統稱數據集).數據集的結構很簡單,就是大量的矩陣/向量數據平鋪開來.數據之間沒有什 ...
- Ubuntu 16.04使用python3.x相关
下载pip3 Python 3.x版本使用pip3,它会把你想下载的包放到usr/local/lib/python3.5/dist-packages/下,而非usr/local/lib/python2 ...
- 洛谷P3065 [USACO12DEC]第一!First!(Trie树+拓扑排序)
P3065 [USACO12DEC]第一!First! 题目链接:https://www.luogu.org/problemnew/show/P3065 题目描述 Bessie一直在研究字符串.她发现 ...
- mysql中的case when 与if else
大神说:在sql中,能用if else 就不用case when 下面来看看,具体为什么,没有搞清楚,如果有大神知道的提供下资料: Mysql的if既可以作为表达式用,也可在存储过程中作为流程控制 ...