【问题标题】:using recursion to get sub strings in python使用递归在python中获取子字符串
【发布时间】:2018-07-19 05:11:39
【问题描述】:

如何使用递归来查找字符串中“a”的数量:

示例: get_a('halloa') -> 2

这是我所拥有的:

    def get_a(string):
        '''
        return how many times a exist in the string using recursion
        '''
        if string == '':
            return 0
        if string[0] == 'a':
            return 1
    return get_a(string[1:])

【问题讨论】:

  • 真的必须为此使用递归吗?
  • @PM2Ring:也许这是一个函数式编程的练习。
  • @FredLarson 当然,或者至少是学习递归的练习。否则 OP 可以简单地使用 .count 方法。

标签: python string python-3.x recursion substring


【解决方案1】:

您的代码中的问题是当您找到第一个a 时停止递归。您需要致电get_a 并收集您已经找到的as:

def get_a(string):
    '''
    return how many times a exist in the string using recursion
    '''
    if string == '':
        return 0
    if string[0] == 'a':
        return 1 + get_a(string[1:])
    return get_a(string[1:])

【讨论】:

    猜你喜欢
    • 2015-05-13
    • 1970-01-01
    • 2016-08-02
    • 1970-01-01
    • 1970-01-01
    • 2011-07-28
    • 2021-12-10
    • 1970-01-01
    相关资源
    最近更新 更多