python递归函数,统计一个指定字符在一个字符串的次数,函数头用:intcount(char,char))
时间: 2023-06-08 18:07:28 浏览: 74
这是一个简单的 Python 递归函数,可以用于统计一个指定字符在一个字符串中出现的次数:
```python
def count(c, s):
if len(s) == 0:
return 0
if s[0] == c:
return 1 + count(c, s[1:])
else:
return count(c, s[1:])
```
函数中的两个参数分别表示要搜索的字符和要搜索的字符串。首先判断字符串是否为空,如果为空就返回 0。然后,如果字符串的第一个字符是我们要搜索的字符,就返回 1 并继续搜索剩余的字符串;如果不是,就直接搜索剩余的字符串。这样递归调用函数,直到找到所有出现的位置并统计出现的次数为止。
请注意,这个函数是区分大小写的,如果想要忽略大小写,可以将 if 语句改为 s[0].lower() == c.lower()。
相关问题
python递归函数,统计一个指定字符在一个字符串的次数
好的,我可以回答您的问题。以下是一个 Python 递归函数,用于统计一个给定字符在字符串中出现的次数:
```python
def count_char(string, char):
if not string:
return 0
elif string[0] == char:
return 1 + count_char(string[1:], char)
else:
return count_char(string[1:], char)
```
该函数接受两个参数:待搜索的字符串和要计数的字符。它首先检查字符串是否为空,如果是,则返回 0。如果第一个字符与指定的字符匹配,则将 1 与递归调用函数以剩余的字符串作为参数相加。否则,只需递归调用函数以剩余字符串作为参数。
例如,使用该函数计算字符串“hello”的“l”的出现次数将产生以下结果:
```python
>>> count_char("hello", "l")
2
```
希望这可以回答您的问题!
python编写一个递归函数返回逆序字符串
可以使用递归函数实现字符串的逆序,具体代码如下:
```python
def reverse_string(s):
if len(s) == 0:
return s
else:
return reverse_string(s[1:]) + s[0]
```
在递归函数中,我们首先判断字符串是否为空,如果为空直接返回该字符串。如果字符串不为空,则调用递归函数并将字符串的第二个字符到最后一个字符作为参数传递给递归函数,然后将字符串的第一个字符与递归函数返回的结果拼接在一起,最终返回逆序后的字符串。
可以通过以下代码验证该函数的正确性:
```python
s = "Hello, World!"
print(reverse_string(s)) # 输出:!dlroW ,olleH
```