写代码也是一种修炼,如何避免屎山——如何用python写多级菜单

你有没有一种感觉,自己年轻的时候曾经很傻逼。
写代码也有这种感觉,就对了。
我每次看我去年写的代码都觉得这是个垃圾程序员,有这种想法说明你进步了。
如果每次看自己写的代码都觉得哇好完美,只有两种可能,要么你不思进取,要么你已经到了顶级,你觉得哪种可能性更高呢?
不要鄙视所谓的编程规则,那都是无数前辈实践得出来的经验。
就如同不要无视安全规则,那都是血的教训。

忠言逆耳,有人说你代码写的垃圾,先检讨一下自己的不足,被比自己水平高的人指出不足是很幸运的事儿,要不自己要走很多弯路才能懂,当然如果是无脑喷子,就不要理他们。

活到老学到老,永远怀着一颗学徒的心,才能进步不是。

现在看我年初写的VFD时钟,一坨答辩呀,菜单写的是什么伞兵玩意。
问了下gpt,告诉你思路了,看来以后有问题先问gpt,再去互联网搜,因为我互联网上就没找到什么好的多级菜单思路,看好了兄弟们,一个基本的科学的多级菜单是这么写的。

# 定义一个菜单类
class Menu:
    def __init__(self, title, options):
        self.title = title
        self.options = options
        self.parent = None
        self.children = []

    def add_child(self, child_menu):
        child_menu.parent = self
        self.children.append(child_menu)

    def display(self):
        print(self.title)
        for i, option in enumerate(self.options):
            print(f"{i + 1}. {option}")
        if self.parent is not None:
            print("0. 返回上级菜单")
        choice = input("请选择一个选项:")
        if choice == '0' and self.parent is not None:
            self.parent.display()
        elif choice.isdigit() and 1 <= int(choice) <= len(self.options):
            selected = int(choice) - 1
            selected_menu = self.children[selected]
            selected_menu.display()
        else:
            print("输入有误,请重新选择!")

# 创建一个多级菜单
main_menu = Menu("主菜单", ["选项1", "选项2", "选项3"])
sub_menu1 = Menu("子菜单1", ["选项1", "选项2", "选项3"])
sub_menu2 = Menu("子菜单2", ["选项1", "选项2", "选项3"])
sub_menu3 = Menu("子菜单3", ["选项1", "选项2", "选项3"])
sub_sub_menu = Menu("子子菜单", ["选项1", "选项2", "选项3"])

main_menu.add_child(sub_menu1)
main_menu.add_child(sub_menu2)
main_menu.add_child(sub_menu3)
sub_menu1.add_child(sub_sub_menu)

# 显示多级菜单
main_menu.display()

猜你喜欢

转载自blog.csdn.net/jd3096/article/details/129825223
今日推荐