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 ...
随机推荐
- ZigBee设备入网流程之关联方式
ZigBee设备入网流程 ZigBee设备入网有关联方式和直接方式两种,我所熟悉的是关联方式,这也是最常用的方式. 关联方式 step1 设备发出Beacon Request 设备会在预先设置的几个信 ...
- node中的path.resolve
path.resolve([arg1,arg2,...])根据参数的不同,返回值存在两种情况. 以下为参数的两种情况: 1.每个参数都不带'/',比如path.resolve(),或者path.res ...
- overflow:scroll 滚动条不显示
overflow:scroll 滚动条不显示 ::-webkit-scrollbar-thumb 可能因为 自定义的滚动条height比元素可展示内容大
- BZOJ 1179 Atm(强连通分量缩点+DP)
题目说可以通过一条边多次,且点权是非负的,所以如果走到图中的一个强连通分量,那么一定可以拿完这个强连通分量上的money. 所以缩点已经很明显了.缩完点之后图就是一个DAG,对于DAG可以用DP来求出 ...
- 配置ssh
1. 实现只允许特定用户ssh登录 1.1. 直接配置ssh来实现 编辑/etc/ssh/sshd_config,在末尾添加如下一行 AllowUsers user1 user2 user3 然后 ...
- 【刷题】BZOJ 4830 [Hnoi2017]抛硬币
Description 小A和小B是一对好朋友,他们经常一起愉快的玩耍.最近小B沉迷于**师手游,天天刷本,根本无心搞学习.但是已经入坑了几个月,却一次都没有抽到SSR,让他非常怀疑人生.勤勉的小A为 ...
- [BZOJ3380] [USACO2004 Open]Cave Cows 1 洞穴里的牛之一
Description 很少人知道其实奶牛非常喜欢到洞穴里面去探险. 洞窟里有N(1≤N≤100)个洞室,由M(1≤M≤1000)条双向通道连接着它们.每对洞室间 至多只有一条双向通道.有K( ...
- 自学Python快速入门
1 helloworld#基本语法print("hello") #换行print('1221312\12312312\2312312321312\21312312') ##表示注释 ...
- POJ3621:Sightseeing Cows——题解
http://poj.org/problem?id=3621 全文翻译参自洛谷:https://www.luogu.org/problemnew/show/P2868 题目大意:一个有向图,每个点都有 ...
- POJ3525:Most Distant Point from the Sea——题解
http://poj.org/problem?id=3525 题目大意:给一个逆时针序列的多边形点集,求其中可以画的最大半径的圆的半径. —————————————————————— 二分枚举半径长度 ...