【发布时间】:2026-02-07 21:30:01
【问题描述】:
我是 python 的初学者,从 "Automate the Boring Stuff with Python"开始学习 python。
我不明白新功能如何应用于井字游戏中的字典。
谢谢
为什么必须在
def printBoard(board)中包含参数board?为什么我们需要在
board['top-L']之前添加board?我不明白为什么该函数会起作用,因为上一行只定义了theBoard而不是board。
theBoard = {'top-L': 'O', 'top-M': 'O', 'top-R': 'O', 'mid-L': 'X', 'mid-M':'X', 'mid-R': ' ', 'low-L': ' ', 'low-M': ' ', 'low-R': 'X'}
def printBoard(board):
print(board['top-L'] + '|' + board['top-M'] + '|' + board['top-R'])
print('-+-+-')
print(board['mid-L'] + '|' + board['mid-M'] + '|' + board['mid-R'])
print('-+-+-')
print(board['low-L'] + '|' + board['low-M'] + '|' + board['low-R'])
printBoard(theBoard)
【问题讨论】:
-
1.当您将某些东西传递给函数时,接收端应该有一些东西要捕获。 2. 传递给函数的
theBoard在函数内部调用board。参数board接收theBoard的值。 -
谢谢。我想了解更多关于基础的信息。 1) 为什么我没有以下函数的接收端
def printabc(): print('abc') printabc()2) 我们可以使用“theBoard”而不是用另一个称为“board”的参数替换它吗?为什么? -
我不确定你在问第一个问题是什么,但对于第二个问题,答案是肯定的,但这会很混乱。当你有一个函数参数时(例如本例中的 board ),你实际上是在告诉函数“我有一个对象,我们将在函数中调用这个特定的名称。”如果您在全局范围内有一个名为“theBoard”的变量,而在较小的函数范围内有一个名为“theBoard”的变量,您可能会感到困惑。
-
1) 因为你没有传递任何东西来运行。 2) 当然。
标签: python-3.x function dictionary