Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python函数-未定义全局变量_Python - Fatal编程技术网

Python函数-未定义全局变量

Python函数-未定义全局变量,python,Python,我参加了一门学习Python编程的课程。对于某项任务,我们必须编写我粘贴在下面的代码 这部分代码由两个函数组成,第一个是make_str_from_row,第二个是包含_row。正如您可能已经注意到的,第二个函数重用了第一个函数。我已经传递了第一个函数,但是我不能传递第二个函数,因为当它必须重用时,它会给出关于第一个函数的错误,这是令人困惑的,因为我的第一个函数没有得到任何错误。它表示未定义全局变量row\u index 顺便说一句,第二个函数是在启动程序代码中给出的,所以它不会出错。我不知道出

我参加了一门学习Python编程的课程。对于某项任务,我们必须编写我粘贴在下面的代码

这部分代码由两个函数组成,第一个是
make_str_from_row
,第二个是
包含_row
。正如您可能已经注意到的,第二个函数重用了第一个函数。我已经传递了第一个函数,但是我不能传递第二个函数,因为当它必须重用时,它会给出关于第一个函数的错误,这是令人困惑的,因为我的第一个函数没有得到任何错误。它表示未定义全局变量
row\u index

顺便说一句,第二个函数是在启动程序代码中给出的,所以它不会出错。我不知道出了什么问题,特别是因为我已经通过了可能是错误的代码

我试着要求团队提供一些反馈,以防评分员出现错误,但已经一周了,截止日期还有2天,我没有得到回复。我不是在问答案,我只是想问某人对给定错误的解释,这样我就能自己找出解决方案。我真的很感激你的帮助

def makestrfromrow(board, rowindex):
    """ (list of list of str, int) -> str

    Return the characters from the row of the board with index row_index
    as a single string.

    >>> make_str_from_row([['A', 'N', 'T', 'T'], ['X', 'S', 'O', 'B']], 0)
    'ANTT'
    """

    string = ''
    for i in board[row_index]:
        string = string + i
    return string

def boardcontainswordinrow(board, word):
    """ (list of list of str, str) -> bool

    Return True if and only if one or more of the rows of the board contains
    word.

    Precondition: board has at least one row and one column, and word is a
    valid word.

    >>> board_contains_word_in_row([['A', 'N', 'T', 'T'], ['X', 'S', 'O', 'B']], 'SOB')
    True
    """

    for row_index in range(len(board)):
        if word in make_str_from_row(board, row_index):
            return True

    return False

您将参数命名为
rowindex
,但在函数体中使用名称
row\u index

修理一个或另一个

演示,修复函数体中使用的名称以匹配参数:

>>> def makestrfromrow(board, rowindex):
...     string = ''
...     for i in board[rowindex]:
...         string = string + i
...     return string
... 
>>> makestrfromrow([['A', 'N', 'T', 'T'], ['X', 'S', 'O', 'B']], 0)
'ANTT'

请注意,此函数和BoardContainsWorldRow与docstring不一致;在那里,它们被命名为
make\u str\u from\u row
board\u包含\u word\u row
。您的
boardContainessWorldRow
函数使用的是
make\u str\u from\u row
,而不是
makestrfromrow
,因此您还必须纠正这一点;一个方向或另一个方向。

您将参数命名为
rowindex
,但在函数体中使用名称
row\u index

修理一个或另一个

演示,修复函数体中使用的名称以匹配参数:

>>> def makestrfromrow(board, rowindex):
...     string = ''
...     for i in board[rowindex]:
...         string = string + i
...     return string
... 
>>> makestrfromrow([['A', 'N', 'T', 'T'], ['X', 'S', 'O', 'B']], 0)
'ANTT'

请注意,此函数和BoardContainsWorldRow与docstring不一致;在那里,它们被命名为
make\u str\u from\u row
board\u包含\u word\u row
。您的
boardContainessWorldRow
函数使用的是
make\u str\u from\u row
,而不是
makestrfromrow
,因此您还必须纠正这一点;一个方向或另一个方向。

在发布Python问题时,您必须仔细检查缩进。您的代码示例显然是不完整的,在Python中,其他人通常不可能说出它们应该如何工作。提示:
\uuu
(下划线)是相关的。你的
makestrfromrow
肯定是一种冗长的方式来说
”。加入(board[rowindex])
…在发布Python问题时,你绝对必须仔细检查缩进。您的代码示例显然是不完整的,在Python中,其他人通常不可能说出它们应该如何工作。提示:
\uu
(下划线)是相关的。你的
makestrfromrow
肯定是一个冗长的方式来说
”。加入(board[rowindex])
…因为某种原因,这一定是在发布后发生的。我检查了我的代码,参数名和变量名都有下划线。你发布的错误与这个错误完全一致。我不明白。原始代码确实有下划线,因此它必须是另一个原因。@user2756101:然后在
BoardContainsWorldRow
中也使用不带下划线的版本。你必须坚持这样或那样。不,我不是这个意思。所有代码都有下划线,我已经仔细检查过了。当我在这个网站上发布代码时,一些下划线消失了。所以下划线在正确的位置。我也刚刚收到了团队的反应,但他们说他们和我一样困惑,因为他们的代码与我的完全匹配,并且通过了所有测试。出于某种原因,这一定是在发布后发生的。我检查了我的代码,参数名和变量名都有下划线。你发布的错误与这个错误完全一致。我不明白。原始代码确实有下划线,因此它必须是另一个原因。@user2756101:然后在
BoardContainsWorldRow
中也使用不带下划线的版本。你必须坚持这样或那样。不,我不是这个意思。所有代码都有下划线,我已经仔细检查过了。当我在这个网站上发布代码时,一些下划线消失了。所以下划线在正确的位置。我也刚刚收到了团队的反应,但他们说他们和我一样困惑,因为他们的代码与我的完全匹配,并且通过了所有测试。