要求1:
1、运行程序输出一级菜单;
2、选择一级菜单某项,输出二级菜单,依次同理输出。
要求2:
只用一层循环完成
代码主要内容:
1、while循环、continue、break使用
2、if判断使用,if..elif..else..
3、文件操作为列表
没有解决的问题:
**进入二级目录时,输入break可以退到一级目录,
进入三级目录的时候目前只实现退到一级目录(不使用多级循环的情况下)
等后面学习之后,能解决的话回来更新
代码如下:
Python Code
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# @Time : 2017/7/30 下午6:27
# @Author : Shope
#@QQ :215522879
#@Blog :http://blog.sina.com.cn/u/2047118510
# @File : sceond_hoemwk.py
# @Software: PyCharm
users=[]
line1=[]
f = open("F:/python/list.txt","r")
for line in f:
users.append(line.split())
for m in range(9):#输出全部目录信息
print users[m]
i=0
while True:#程序持续循环,直到触发quit
#打印一级目录
print("一级目录 信息:")
print("1:%s"%users[0][0])
print("2:%s"%users[3][0])
print("3:%s"%users[6][0])
nums=raw_input("请输入一级编号:")
print type(nums)
if nums == 'break':
#输入break时,程序返回上级,下同
continue
elif nums == 'quit':
# 输入quit时,,下同
print("欢迎下次使用,再见!!!")
break
elif int(nums)<4:
i =3*int(nums)
#输出二级目录
print("二级目录信息:")
print nums,'- 1:',users[i-3][1]
print nums,'- 2:',users[i-2][1]
print nums,'- 3:',users[i-1][1]
nums1 =raw_input("请输入二级编号:")
if nums1 == 'break':
continue
elif nums1 == 'quit':
print("欢迎下次使用,再见!!!")
break
elif int(nums1)<4:
j = 3*int(nums)+int(nums1)-4
#输出二级目录下所有信息
print("三级目录信息:")
print nums,'-',nums1,'- 1:',users[j][1],'-',users[j][2]
print nums,'-',nums1,'- 2:',users[j][1],'-',users[j][3]
print nums,'-',nums1,'- 3:',users[j][1],'-',users[j][4]
else:
print("请重新输入:")
continue
nums2=raw_input(" 是否继续(Y\N):")#执行完之后,询问是否继续
if nums2 == 'y' or nums2 == 'Y':
continue
else:
print("欢迎下次使用,再见!!!")
break
else:
print("请重新输入:")
continue
list.txt文件信息
#一级 二级 三级
# BJ BJ1 BJ1A BJ1B BJ1C
# BJ BJ2 BJ2A BJ2B BJ2C
# BJ BJ3 BJ3A BJ3B BJ3C
# TJ TJ1 TJ1A TJ1B TJ1C
# TJ TJ2 TJ2A TJ2B TJ2C
# TJ TJ3 TJ3A TJ3B TJ3C
# GZ GZ1 GZ1A GZ1B GZ1C
# GZ GZ2 GZ2A GZ2B GZ2C
# GZ GZ3 GZ3A GZ3B GZ3C