Python 通过派林测试

Python 通过派林测试,python,Python,当我对代码执行pylint检查时,它会说我的返回语句有问题。这是我的代码: board = [['X', ' ', 'O'], ['X', 'O', ' '], ['X', ' ', ' ']] def winner(board): """noughts and crosses game and checks if a row or column or diagonal is a winner""" row_ = []

当我对代码执行pylint检查时,它会说我的返回语句有问题。这是我的代码:

board = [['X', ' ', 'O'], ['X', 'O', ' '], ['X', ' ', ' ']]

def winner(board):
    """noughts and crosses game and checks if a row or column or diagonal is a winner"""
    row_ = []
    for row_number in range(3):
        row_.append(board[row_number])
    column_ = []
    for col_number in range(3):
        column_.append(list(board[0][col_number] + board[1][col_number] + board[2][col_number]))
    diagonal_0 = []
    diagonal_1 = []
    for selected_diagonal in range(2):
        if selected_diagonal == 0:
            diagonal_0.append(list(board[0][0] + board[1][1] + board[2][2]))
        diagonal_1.append(list(board[0][2] + board[1][1] + board[2][0]))
    total = row_ + column_ + diagonal_0 + diagonal_1
    for line in total:
        if line[0] == line[1] == line[2]:
            if line[0] == 'X':
                return 'X'
            elif line[0] == 'O':
                return 'O'
            elif line[0] == ' ':
                return None
            break
这就是我得到的错误

************* Module source
R: 81, 0: Either all return statements in a function should return an expression, or none of them should. (inconsistent-return-statements)

***Error***
Sorry, but your code doesn't pass the pylint style checks.

代码的最后一部分是

else:
    return line[0]
break
如果删除else并保留
返回行[0]
的含义相同

在返回后,在末尾中断是没有用的

#前面几行。。。
总行数:
如果第[0]行==第[1]行==第[2]行:
如果第[0]行=='X':
返回“X”
elif行[0]=“O”:
返回“O”
elif第[0]行、第[1]行和第[2]行!='':
返回行[0]
归还某物
打破
归还某物
这会奏效的。请试一试

中断
中断循环。删除else不会影响任何内容

只需正确缩进
返回行[0]

运行代码并测试它


第二个错误也将被删除。

尝试删除break语句,然后重试。
break
是死代码,无法到达,派林发现它希望您删除它。哈哈哈,谢谢阿尔宾·保罗!真不敢相信我错过了!!但是对于我遇到的第二个错误,你有什么建议吗?谢谢!如果可能的话,您对第二个pylint错误有什么建议吗?写一个返回行[0]的条件,不需要返回任何行```elif第[0]行、第[1]行和第[2]行=='':返回none如果我使用我在问题中输入的新代码,我仍然会得到第二个错误。我是否遗漏了什么?再次查看更新的答案。在其他情况下返回适当的内容。这取决于您在何处使用该函数