我想向一个函数发送3个值,但在函数之后,我只想再次测试第3个函数返回。我该怎么做?

2024-09-29 22:32:36 发布

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

rows = 22
rowsMax = 21
columns = 117
columnMax = 117
status = "True"

def DrawBoard (rows,columns,status):
  if rows > rowsMax or columns > columnMax:
     status = "False"
     rows = 0
     columns = 0
  return rows,columns,status


DrawBoard(rows,columns,status)


# I want to test only the status returns from the function but get error
# DrawBoard() missing 2 required positional arguments: 'columns' and 'status'.
if DrawBoard(status) == "False":
  print("Either the row and columns maximum were excepted")

Tags: orcolumnsandthefalsetruereturnif
2条回答

推送到对象版本:

class Board:

    def __init__(self, rows, rowsMax, columns, columnMax):
        self.rows = rows
        self.rowsMax = rowsMax
        self.columns = columns
        self.columnMax = columnMax
        self.status = True

    def drawBoard(self):
        msgError = 'Either the row and columns maximum were excepted'
        if self.rows > self.rowsMax or self.columns > self.columnMax:
            self.status = False
            self.rows = 0
            self.columns = 0
        else:
            msgError = 'All fine!'

        return msgError


if __name__ == '__main__':
    newBoard = Board(22, 21, 117, 117)
    print(newBoard.drawBoard())  # Either the row and columns maximum were excepted
    print(newBoard.status)  # False

    newBoard = Board(20, 21, 117, 117)
    print(newBoard.drawBoard())  # All fine!
    print(newBoard.status)  # True

访问状态将非常简单,例如在类内使用self.status表示True或False,或者使用带有newBoard.status的对象

如果你写DrawBoard(.., .., ..)这是一个函数调用,那么你正在调用这个函数,它返回它的返回值。要保存这些值,可以执行以下操作

ret1, ret2, ret3 = DrawBoard(rows, columns, status)

现在检查第三个值

if ret3 == False:

您还可以直接访问第三个返回值,而无需将它们存储在带有DrawBoard(rows, columns, status)[2]的变量中

相关问题 更多 >

    热门问题