繁体   English   中英

写一个递归函数,len

[英]Write a recursive function, len

编写一个递归函数 len,它接受一个包含字符串值的参数,并返回字符串中的字符数。 字符串的长度为:

0 如果字符串为空 ("")

1 超过第一个字符后的字符串长度


这是我到目前为止得到的:

def len(string):
 if len(string) == ""
  return 0
 else:
  return string[len(string)+1]

我究竟做错了什么? 谢谢

len()应该返回一个整数。 我认为他们正在寻找这样的东西:

def len(string):
    if string == "":
        # 0 if the string is empty
        return 0
    else:
        # one more than the length of the string beyond the first character
        return 1 + len(string[1:])

您忘记减少递归调用的问题。 你编写了一个无限递归。 关键语句是在较短的字符串上重复:

return len(string[1:]) + 1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM