实际上,我是python的新手。我对于for循环部分的回报感到怀疑。 ->如果我返回内部循环输出为1(对于字符串“ abcd”)。 ->如果返回的缩进与代码中使用的缩进相同,则输出为4。 您能解释一下这种情况吗?
我也使用代码中的注释简短地添加了我的问题。
def print_each_letter(word):
counter = 0
for letter in word:
counter += 1
return counter #its returning length 1 why ?
return counter # its returning length 4 why?
print_each_letter("abcd")
答案 0 :(得分:1)
return
退出该函数,并返回4
,因为它不在循环中,并且循环完成了所有操作,并累加到4
(由于{{ 1}}是4)并返回值。
答案 1 :(得分:0)
因为循环内的return
会在第一次执行循环时执行,所以会发生这种情况:
counter = 0
for letter in word:
#'a'
counter += 1
return counter #return counter (1) and terminate function.
但是如果让循环先运行:
counter = 0
for letter in word:
#'a'
counter += 1 #1
#'b'
counter += 1 #2
#'c'
counter += 1 #3
#'d'
counter += 1 #4
return counter #return counter (4) and terminate function.
答案 2 :(得分:0)