找到最长字符串的长度

时间:2014-03-01 18:27:12

标签: python

我刚开始学习如何使用python。我的练习的一部分是找到文本中最长字符串的长度,在下列情况下定义为“框”:

def file(box):
  maxlen=0
  f=box.splitlines()
  for i in f:
    if len(i)>=maxlen:
      maxlen=len(i)
    return maxlen

print file("""abcd efgh ijkl 
on different lines

I""")

在这种情况下,我得到的是14号,而不是18号,这是正确答案...可以请有人帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

你的退货声明过多了:

for i in f:
  if len(i)>=maxlen:
    maxlen=len(i)
  return maxlen

目前,您在循环的每次迭代中都告诉它return,这意味着只返回第一行。将return语句移到循环外部:

for i in f:
  if len(i)>=maxlen:
    maxlen=len(i)
return maxlen

......它应该有用。