0

只是一个快速的家伙和女孩,它是关于用户定义函数中的返回语句。这可能是我有点简单,但这里有:-

在此示例中,他返回 5,然后将 number 变量设置为 = give_me_five。所以现在我在想所有的 return 语句都应该属于函数的初始名称。

def give_me_five():
    five = 5
    return five

# main
display("Here's a message for you.\n")

number = give_me_five()
print("Here's what I got from give_me_five():", number)

到目前为止还不错吧?好吧,抓住你的裤子。

EMPTY = " "

def new_board():
    """Create new game board."""
    board = []
    for square in range(NUM_SQUARES):
        board.append(EMPTY)
    return board

在上面的代码中,他创建了一个名为 board 的新列表并用空格填充它 - “”。然后他返回板,所以现在 new_board 是 = 板。

但是在下一个用户定义的函数中,他只是调用了返回名称板?!

def display_board(board):
    """Display game board on screen."""
    print("\n\t", board[0], "|", board[1], "|", board[2])
    print("\t", "---------")
    print("\t", board[3], "|", board[4], "|", board[5])
    print("\t", "---------")
    print("\t", board[6], "|", board[7], "|", board[8], "\n")

他还告诉我们,函数之间不能互相看到,那么他是如何从 new_board 中提取板的呢?

很抱歉这篇冗长的帖子,但任何帮助将不胜感激(毕竟没有那么快)。

谢谢

4

1 回答 1

1

我认为一些混乱是由于缺乏对参数的了解。如果你看display_board(board)board括号里面是一个变量。他display_board(board)正在查看所提供的内容board,而不是中定义的内容new_board

为了帮助理解它,他可以很容易地定义display_board如下:

def display_board(variable):
    """Display game board on screen."""
    print("\n\t", variable[0], "|", variable[1], "|", variable[2])
    print("\t", "---------")
    print("\t", variable[3], "|", variable[4], "|", variable[5])
    print("\t", "---------")
    print("\t", variable[6], "|", variable[7], "|", variable[8], "\n")

只要他像这样display_board用他得到的价值new_board跟注……

b = new_board()
display_board(b)

board(或variable)的名称无关紧要display_board

于 2013-06-10T15:11:56.903 回答