代码在课堂外工作 - 但在课堂上不起作用(没有错误)

问题描述 投票:0回答:1

所以我正在用 Python 开发一个 CLI 游戏,我有一个名为 Menu 的类,这里是该类的代码:


class Menu:
    def __init__(self, name, options=list) -> None:
        self.name = name
        self.options = options
    
    def draw(self):
        print(f"        #### {self.name} ####")
        print("\n")
        print("\n")
        print("##############################")
        cur = 1
        for x in self.options:
            print(f"[{cur}] - {x}")
            cur += 1


当我在另一个文件中使用此类时,它工作正常。我有一个名为 main 的文件,该文件内有一个名为 Game 的类,这是该类的代码:

from lib.menu import Menu

class Game:
    def __init__(self):
        pass

    def start(self):
        self.main = Menu('Python-RPG', ['Start', 'Mods', 'Options', 'Exist'])
        self.main.draw()


g = Game()
g.start

如果我在类之外使用 start() 内部的行,它会正常工作,但是使用这种变体,它不会输出任何内容,没有错误,如果我在 start() 函数内部添加 print() 语句,它不会输出任何内容打印。任何帮助将不胜感激:D

我尝试在课堂外运行它 - 效果很好。但是当它在类中并且我调用 start() 方法时,没有任何输出。

python python-3.x command-line-interface
1个回答
0
投票

您忘记了

g.start
后面的括号。尝试做
g.start()
,看看是否有效。

© www.soinside.com 2019 - 2024. All rights reserved.