【发布时间】:2022-01-13 12:02:20
【问题描述】:
我正在尝试解决一个名为 spy game 的问题,如果顺序为 0,0,7,您需要返回 true,但它们不需要连续,否则,它应该返回 false。 例如:
spy_game([1,2,4,0,0,7,5]) should return True
spy_game([1,0,2,4,0,5,7]) should return True
spy_game([1,7,2,0,4,5,0]) should return False
这是我的代码:
def spy_game(nums):
for x in range(4):
if nums[x]==0:
for y in range(x+1,len(nums)):
if nums[y]==0:
for z in range(y+1,len(nums)):
if nums[z]==7:
return True
我缺少的是,如果给定条件为假,则返回为假。我找不到合适的地方来设置 return false ,否则会影响解决方案。我的解决方案似乎适合返回 true。我该如何解决这个问题?提前致谢。
【问题讨论】:
-
如果当前函数完成但没有返回 True,你想
return False。目前您的函数包含单个 for 循环,因此您的return False将在循环之后进行。 -
问题是如果我在最后写 return false 就像:如果 nums[z]==7: return True else: return False 它只会在有两个零和没有 7 之后,如果我写 return false 之后它会影响解决方案。
-
循环结束后返回 False 对解决方案有何影响?
-
不,不是
else在if之后。就像整个循环之后的最后一行一样!