def my_fun(x):
z = 0
for item in x:
m = x.count(item)
if m > z:
z = m
return z
y = ["cat", 4, "dog" , "cat" , 2, "cat", 2]
print (my_fun(y))
代码的输出为3
。有人可以解释一下吗?
答案 0 :(得分:2)
你的for循环立即返回,因为return语句在for循环中,并且z = m
被执行。
即使返回在循环之外,你仍然有3,因为cat可能出现在列表中并且出现次数最多。
你基本上有这一行代码
print( ["cat", 4, "dog" , "cat" , 2, "cat", 2].count("cat"))
我相信你可以看到为什么输出3.目前还不清楚你还有什么预期