日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python文本菜单程序_python3.x Day1 菜单程序练习

發布時間:2025/3/19 python 13 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python文本菜单程序_python3.x Day1 菜单程序练习 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

#!/usr/bin/env python#-*- coding: utf-8 -*-#author : Wang Yue

importmenu_class,re#初始化用戶菜單的各個實例

definit_menu():

menu_list=[]

with open("menu_db.doo",mode="r",encoding="utf-8") as menu_db:

menu_db.flush()

menu_db.seek(0)

lines=menu_db.readlines()for line_m inlines:

line_f=line_m.strip()

line=re.split(',',line_f)

menu_cl=menu_class.menu_level(line[1],int(line[0]),int(line[2]))

menu_list.append(menu_cl)returnmenu_list#將子節點集合存入相應的父菜單實例的child列表中

definit_child(menu_list,pid):

p_menu=[]for menu_one inmenu_list:#print("my id is:{_name}".format(_name=menu_one.get_my_id()))

if menu_one.get_par_id() ==pid:

p_menu.append(menu_one)for ppp inp_menu:

get_sub_node(menu_list,ppp)returnp_menudef get_sub_node(menu_list,p_node): #上一個方法中,會調用此方法,尋找下級的子節點,利用遞歸一層一層查找

for menu_child inmenu_list:if p_node.get_my_id() ==menu_child.get_par_id():#print(menu_child.get_name())

p_node.append_child(menu_child)

get_sub_node(menu_list,menu_child)def get_back_menu(menu,menu_here,menu_que): #返回上級路徑的方法

for menu_one inmenu:if menu_here.get_par_id() ==menu_one.get_my_id():

menu_que.append(menu_one)if menu_one.get_par_id() !=0:

get_back_menu(menu,menu_one,menu_que)returnmenu_quedef view_menu(menu): #查看當前所在路徑。

menu_name_que=[]

temp_que=[]

menu_que=[]for menu_one inmenu:if menu_one.get_here():#find which menu

menu_que=get_back_menu(menu,menu_one,temp_que)

menu_que.insert(0,menu_one)breakmenu_que.reverse()for my_menu inmenu_que:

menu_name_que.append(my_menu.get_name())returnmenu_name_quedef next_menu(menu,name): #進入下一級路徑。

for menu_one inmenu:if menu_one.get_name()==name:

menu_one.put_here_true()

menu_next=menu_oneelifmenu_one.get_here():

menu_one.put_here_false()def back_menu(menu): #返回上級菜單

for menu_one inmenu:ifmenu_one.get_here():

menu_one.put_here_false()for menu_two inmenu:if menu_two.get_my_id() ==menu_one.get_par_id():

menu_two.put_here_true();def tree_menu(menu,logo): #顯示完整菜單樹,也是遞歸方法

m=logo#root = tree_assembly(menu, p_id)

for menu_root inmenu:print(m+menu_root.get_name())if len(menu_root.get_child()) >0:

tree_menu(menu_root.get_child(),logo+m)def next_menus(now_menu_name,menu): #在進入下級菜單時,顯示下級全部菜單。

for which_menu inmenu:if which_menu.get_name() ==now_menu_name:

now_menu=which_menu

ne_menu=now_menu.get_child()for ne_one inne_menu:print(">>>{_name}".format(_name=ne_one.get_name()))

總結

以上是生活随笔為你收集整理的python文本菜单程序_python3.x Day1 菜单程序练习的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。