【发布时间】:2021-09-05 11:05:55
【问题描述】:
请看下面的代码
def common_letters(string_one,string_two):
letters_in_common = []
for letter in string_one:
for letter2 in string_two:
if letter == letter2:
letters_in_common.append(letter)
return letters_in_common
returned = common_letters("hello", "loha")
print(returned)
上述代码有效,但仅在外循环的第一次迭代中有效,因此我的 letters_in_common 列表仅在应该返回 ['h','l','l'] 时返回 ['h'],在 JS 中语法不同,循环以递增方式工作。
我是否误解了循环在 Python 中的工作方式,还是我没有包含语法级别的步骤?
附言我知道我可以使用“in”关键字等,但我想先用循环尝试一下。
【问题讨论】:
-
在 JS 中,花括号完成缩进的工作。如果您的
if语句没有{ ... }大括号,则只有 one 语句是块的一部分。 JS 代码中的任何缩进不计入 Python 中的缩进方式。 -
换句话说:
return可能不是循环的一部分 -
谢谢@MartijnPieters 习惯了缩进线!