Python 递归计数对
编写一个名为countpairs的递归函数,该函数有一个参数“s”,一个字符串。该功能将 计算字符串中重复字符对的数目。 字符对不能重叠,例如,“aaa”计数为一对“a”,后跟一个“a”。Python 递归计数对,python,recursion,python-3.6,Python,Recursion,Python 3.6,编写一个名为countpairs的递归函数,该函数有一个参数“s”,一个字符串。该功能将 计算字符串中重复字符对的数目。 字符对不能重叠,例如,“aaa”计数为一对“a”,后跟一个“a”。 调用包含函数“pairs\u mod.py”的模块 已经一个多星期了,我假设这个作业已经到期了,可以提供完整的答案。让我们使用Python 3解包,在不使用难看的数字索引的情况下完成这项工作: def countpairs(string): if string: first, *sec
调用包含函数“pairs\u mod.py”的模块 已经一个多星期了,我假设这个作业已经到期了,可以提供完整的答案。让我们使用Python 3解包,在不使用难看的数字索引的情况下完成这项工作:
def countpairs(string):
if string:
first, *second_on = string
if second_on:
second, *third_on = second_on
if first == second:
return 1 + countpairs(third_on)
return countpairs(second_on) # outdent a level and still works! Work out why.
return 0
for word in ['', 'I', 'oo', 'aaa', 'zzzz', 'bookkeeper']:
print(word, ":", countpairs(word))
输出
> python3 test.py
: 0
I : 0
oo : 1
aaa : 1
zzzz : 2
bookkeeper : 3
>
因此,这不是编码服务。展示一些您的工作,您可能会得到一些帮助。您的代码可能应该查看字符串的前两个字符,然后在该字符串的某个子字符串上调用自己。