首页 > 解决方案 > 初学者 Python 用户布尔查询

问题描述

CodeAcademy 的 Python 课程让我了解循环函数,但我不明白结果。目标是查看一个列表是否是另一个列表的镜像。即[1,2,3]到[3,2,1]

20 分钟后,我查看了解决方案,但我不明白为什么每次都不会返回 True?:

def reversed_list(lst1, lst2):
  for index in range(len(lst1)):
    if lst1[index] != lst2[len(lst2)-1-index]:
      return False
  return True

“return True”缩进到与“for index”相同的级别,这将覆盖从前一行返回的任何值。

或者,当我在“if”缩进处引入“else”时,一切都返回 True:

def reversed_list(lst1, lst2):
  for index in range(len(lst1)):
    if lst1[index] != lst2[len(lst2)-1-index]:
      return False
    else:
      return True

任何人都可以帮助一个菜鸟吗?

标签: python

解决方案


导致函数在return False返回 False 时完全退出,因此return True在这种情况下永远不会到达该行。提前返回语句是中断函数执行的一种方式


推荐阅读