首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在第6-10行这里我可以换什么?

在第6-10行这里我可以换什么?
EN

Stack Overflow用户
提问于 2022-04-27 10:04:41
回答 2查看 47关注 0票数 -3

我如何更改我的代码(第6-10行),以获得假,假,在正常情况下,它是在任务中?输入我现在得到的东西:“假,假,假”。

代码语言:javascript
复制
  def is_board_full(board):
  """
  should return True if there are no more empty place on the board,
  otherwise should return False
  """
6  for x in board:
7    if board != ".":
8      return False 
9    else:
10      return True


if __name__ == "__main__":
  # run this file to test you have implemented correctly the function
  board_1 = [
    ["X", "O", "."],
    ["X", "O", "."],
    ["X", "X", "O"],
  ]
  print(is_board_full(board_1)) # should return False

  board_2 = [
    [".", "O", "O"],
    [".", "O", "X"],
    [".", "X", "X"],
  ]
  print(is_board_full(board_2)) # should return False

  board_3 = [
    ["O", "O", "X"],
    ["O", "X", "O"],
    ["O", "X", "X"],
  ]
  print(is_board_full(board_3)) # should return True## 
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-04-27 10:16:51

你想要做的是检查板上的每一行,并检查是否“。是排在一排的。将第6-10行改为此。

代码语言:javascript
复制
for row in board:
    if "." in row:
        return False 
return True
票数 0
EN

Stack Overflow用户

发布于 2022-04-27 10:26:47

你问题中的问题没有得到充分的描述。如果存在一个带有“.”的字段,则假定函数is_board_full应该返回False。在黑板上。

那么,当前的实现有两个问题:1)函数is_board_full被传递给一个二维数组.但是,您只在第一个维度上使用第6行中的循环运行。因此,在第7行中,检查数组是否与char '.‘’不相等。这不可能是真的。检查是否“。”在行中,您应该在第7行中使用if "." in row:

2.)else块当前只导致一个比较,然后返回TrueFalse。但是,只有在没有“”的情况下才应该返回True。在任何一排。因此,删除return True块并缩进它,以便在循环之后执行它。只有在循环尚未返回False的情况下,才不存在“”。在黑板上。性格。

然后,您的代码应该类似于Emmanuel's答案中的代码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72026880

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档