对于intro comp sci lab我正在尝试构建一个递归函数,该函数计算字符串中给定字母的出现次数,而不使用内置方法或循环。我没有使用myStr.count就很难过。有人可以提供小费吗?我应该尝试检查myStr [0]的身份并返回0,如果是!!myStr [0]?
def count(letter, myStr, theLen):
#Code for def count
def main():
print ("The count of letter a is: ", count("a", "abacdadaad", 10))
print ("The count of letter b is: ", count("b", "abacdadaad", 10))
print ("The count of letter c is: ", count("c", "abacdadaad", 10))
print ("The count of letter d is: ", count("d", "abacdadaad", 10))
main()
答案 0 :(得分:0)
通常,在递归写入内容时,主要问题是确定返回的条件是什么。显然,在对字符串中的字母进行计数时,就是在测试字符串的最后一个字符时。
你可以尝试:
def recursive(string, letter):
if len(string) == 1 and string == letter:
return 1;
elif len(string) == 1:
return 0;
if string[0] == letter:
count = 1 + recursive(string[1:], letter)
else:
count = recursive(string[1:], letter)
return count