如何使用函数返回值作为条件?

时间:2016-06-04 10:58:31

标签: python function python-3.x return

我试图为我正在处理的事情制作一个start_game按钮,但我不了解如何使用函数的返回值。这是我的榜样。

[Authorize(Roles = "user")]
[Route("")]
[HttpGet]
public async Task<IHttpActionResult> GetUserSpecificServers() { ... }

我知道这是错的,我花了一些时间寻找解释,但我似乎找到的是如何打印函数的返回值。

2 个答案:

答案 0 :(得分:0)

您的代码必须是这样,您不需要&#34;是真的&#34;

start_game = ttk.Button(frame, text="Start Game", command=startgame)
start_game.grid(column=1, row=2)

def startgame():
    return True

if startgame():
    """Run the game"""

但似乎startgame已经是真的,所以你可以写出你的代码或将其定义为一个函数,如

def game():
   """Game Code"""

然后您可以使用

调用该函数
game() 

答案 1 :(得分:0)

因为command运行一个函数,只需将游戏代码放入该函数中:

start_game = ttk.Button(frame, text="Start Game", command=rungame)
start_game.grid(column=1, row=2)

def rungame():
    """Run the game"""

<小时/> 在原始代码中,代码startgame()执行了startgame函数,该函数返回True而不管其他任何代码。

您可能一直希望的模式需要协作协同例程,事件循环,多线程或其他形式的并发,这对于现在来说太复杂了,但简化的伪代码算法看起来像这样:

start_game = ttk.Button(frame, text="Start Game", command=allow_game)
start_game.grid(column=1, row=2)

game_allowed = False
def allow_game()
    global game_allowed
    game_allowed = True


while True:
    if game_allowed:
        """Run the game"""
        break
    else:
        """run an infinite loop waiting for game_allowed to be True,
           but you must run it in a way that allows ttk to execute the 
           allow_game(), not this simple while loop
        """