Python week1-练习2三级目录

文件:practise2.tar

练习:多级菜单

  1. 三级菜单
  2. 依次选择菜单
  3. 列表和数据字典
#!/usr/bin/env python
#Author:Austin
def match_name(level):
    _file = open("dictionary.txt","r")
    line = _file.readline()
    while line:
        _level = line.split(":")[0]
        _name = line.split(":")[1][:-1]
        if _level == level:
            name = _name
            break
        line = _file.readline()
    _file.close()
    return name

def level1_print():
    print("------List------")
    _file = open("list.txt","r")
    line = _file.readline()
    _tmp_level = ""
    while line:
        level1 = line.split(":")[0]
        if level1 != _tmp_level:
            name = match_name(level1)
            print(level1,name)
        _tmp_level = level1
        line = _file.readline()
    print("----------------")
    chose = input("Plese chose one:(1/2/3)")
    _file.close()
    return chose

def level2_print(level):
    print("-----{level}-----".format(level=level))
    _file = open("list.txt","r")
    line = _file.readline()
    _tmp_level = ""
    while line:
        level1 = line.split(":")[0]
        level2 = line.split(":")[1]
        if level1 == level and level2 != _tmp_level:
            name = match_name(level2)
            print(level2,name)
        _tmp_level = level2
        line = _file.readline()
    _file.close()
    print("----------")
    chose = input("Back or chose one:")
    return chose

def level3_print(level):
    print("-----{level}-----".format(level=level))
    _file = open("list.txt","r")
    line = _file.readline()
    _tmp_level = ""
    while line:
        level2 = line.split(":")[1]
        level3 = line.split(":")[2][:-1]
        if level2 == level and level3 != _tmp_level:
            name = match_name(level3)
            print(name)
        _tmp_level = level3
        line = _file.readline()
    _file.close()
    print("----------")
    chose = input("Back or chose one:")
    return chose

current_level = 1
last_chose = ""
current_chose = ""
chose = ""

while True:
    if current_level == 1:
        chose = level1_print()
        current_level = 2
    elif current_level == 2 and chose != "b":
        last_chose = chose
        chose = level2_print(chose)
        current_level = 3
    elif current_level == 3 and chose != "b":
        chose = level3_print(chose)
    elif current_level == 3 and chose == "b":
        chose = level2_print(last_chose)
        current_level = 2
    elif current_level == 2 and chose == "b":
        chose = level1_print()

后记:

1.山炮程序员又没写注释

2.有bug,实在写累了不想改了。有些地方自己也觉得很烂。

3.等看到Alex怎么写的,来更新。

时间: 2024-10-09 16:56:04

Python week1-练习2三级目录的相关文章

Python进阶实战之三级菜单

目录 Python进阶实战之三级菜单 面条版 文艺青年版 Python进阶实战之三级菜单 打印省.市.县三级菜单 可返回上一级 可随时退出程序 面条版 menu = { '北京': { '海淀': { '五道口': { 'soho': {}, '网易': {}, 'google': {} }, '中关村': { '爱奇艺': {}, '汽车之家': {}, 'youku': {}, }, '上地': { '百度': {}, }, }, '昌平': { '沙河': { '老男孩': {}, '北航

python之模块filecmp(文件/目录比较)

# -*- coding: utf-8 -*- #python 27 #xiaodeng #python之模块filecmp(文件/目录比较) #用于比较文件及文件夹的内容.他是轻量级的工具.可以做一些简单的文件比较操作,将电脑上相同的文件进行删除去重处理 import filecmp #1.匹配2个文件的内容是否匹配,参数为文件路径 #返回布尔值 print filecmp.cmp('test1.txt','test2.txt')#False print filecmp.cmp('test3.

博客园博客自动生成三级目录(generate three levels content using JS in cnblogs)

博客园博客自动生成三级目录(generate three levels content using JS in cnblogs) JS代码(JS code) 最近参考了(http://www.cnblogs.com/wangqiguo/p/4355032.html)自动生成目录的方法,我增加了能够自动生成三级目录的JS代码. I learned from (http://www.cnblogs.com/wangqiguo/p/4355032.html) about generating cont

Python实例31[批量对目录下文件重命名]

经常会遇到下载的文件或电子书,名字中间都包含了一些网址信息,实际使用中由于名字太长不方便,下面的脚本使用正则表达式来对目录下的所有文件重命名:例如: 修改前:[大家网]Mac OS X for Unix Geeks[www.TopSage.com].mobi修改后:Mac OS X for Unix Geeks.mobi python代码如下 import osimport re def rename_dir(dir,regex,f):  if not os.path.isdir(dir) or

python基础班-淘宝-目录.txt

卷 TOSHIBA EXT 的文件夹 PATH 列表卷序列号为 AE86-8E8DF:.│ python基础班-淘宝-目录.txt│ ├─1-1 Linux基础│ ├─01-课程简介│ │ 01-课程安排.flv│ │ 02-励志公式和python体验.flv│ │ │ ├─02-操作系统简介│ │ 03-什么是操作系统.flv│ │ 04-不同领域的主流操作系统-01-桌面操作系统.flv│ │ 05-不同领域的主流操作系统-02-服务器操作系统.flv│ │ 06-不同领域的主流操作系统-0

python就业班-淘宝-目录.txt

卷 TOSHIBA EXT 的文件夹 PATH 列表卷序列号为 AE86-8E8DF:.│ python就业班-淘宝-目录.txt│ ├─01 网络编程│ ├─01-基本概念│ │ 01-网络通信概述.flv│ │ 02-IP地址.flv│ │ 03-Linux.windows查看网卡信息.flv│ │ 04-ip地址的分类-ipv4和ipv6介绍.flv│ │ 05-(重点)端口.mp4│ │ 06-端口分类:知名端口.动态端口.flv│ │ 07-socket介绍.mp4│ │ │ ├─02

Python进阶(十)----规范化格式目录, time模块, datatime模块,random模块,collection模块(python额外数据类型)

Python进阶(十)----规范化格式目录, time模块, datatime模块,random模块,collection模块(python额外数据类型) 一丶规范化格式目录 六个目录: #### 对某某项目进行一个标准化的开发,进行规范化. #bin : 启动项目程序的主入口 #conf : 项目的配置文件 #core : 主要逻辑(业务逻辑) #db : 存放数据() #lib : 辅助文件(存放公共的一些方法) #README : 项目文档说明 ? 二丶time模块(时间模块) 时间的三

python全栈开发学习目录

python全栈开发学习目录 第一章 计算机基础 第二章Python入门 第三章数据类型 第四章文件操作 第五章函数 第六章 模块 第七章 面向对象 第八章 网络编程 第九章 并发编程 第十章 数据库 第十一章 前端开发-html 第十一章 前端开发-css 附加:js特效 15个小demo 第十一章 前端开发-JavaScript 第十一章 前端开发-jQuery 第十一章 前端开发-bootstrap 第十二章 Django框架开发 ... 原文地址:https://www.cnblogs.

python day-2 三级目录作业

zone = { "广东":{ "广州":{ "天河":["天河体育馆","暨南大学"], "越秀":["越秀公园","五羊"] }, "深圳":{ "福田":["市民中心","平安大厦"], "南山":["腾讯","世