如何在另一个函数中使用main中的变量?

2024-09-22 14:35:33 发布

您现在位置:Python中文网/ 问答频道 /正文

在下面的代码中,我如何使变量'guesss'在'end'函数中对我可用。每当我尝试这个,我只是收到一个猜测是没有定义。在play函数中,我返回一个数字,如果我理解正确,那么这个数字应该等于'guesses',由于某种原因,我不理解'guesses'在'end'中不起作用。你知道吗

def main():
    guesses = play()
    play_again = again()
    while (play_again == True):
        guesses = play()
        play_again = again()
        total_games = 1
        total_games += 1
    end()


def end():
    print("Results: ")
    print("Total: " + print(str(guesses + 1)))

Tags: 函数代码play定义maindef数字games
3条回答

只需将guesses作为参数传递给end()

def main():
    guesses = play()
    play_again = again()
    while (play_again == True):
        guesses = play()
        play_again = again()
        total_games = 1
        total_games += 1
    end(guesses)

def end(guesses):
    print("Results: ")
print("Total: " + str(guesses + 1))

或者另一个选择(尽管除非你知道自己在做什么,否则我不建议你这么做),就是让guess成为global。你知道吗

guesses = None

def main():
    global guesses
    guesses = play()
    play_again = again()
    while (play_again == True):
        guesses = play()
        play_again = again()
        total_games = 1
        total_games += 1
    end()

def end():
    print("Results: ")
print("Total: " + str(guesses + 1))

注意,我修正了你的打印报表。您不需要使用print两次来打印传递给print()参数的数据。你知道吗

像这样:

def main():
    guesses = play()
    play_again = again()
    while (play_again == True):
        guesses = play()
        play_again = again()
        total_games = 1
        total_games += 1
    end(guesses)

def end(guesses):
    print("Results: ")
    print("Total: {}".format(guesses + 1))

作为参数传递

def main():
    guesses = play()
    play_again = again()
    while (play_again == True):
        guesses = play()
        play_again = again()
        total_games = 1
        total_games += 1
    end(guesses)

def end(guesses):
    print("Results: ")
    print("Total: " + str(guesses + 1))

通过将输入作为参数传递,并使用return将变量作为输出传递,可以控制程序中的数据流,而不使用global变量作为支撑。你知道吗

相关问题 更多 >