输入一个字串符和一个字符,计算字符在字串符中出现的次数
时间: 2024-05-08 10:17:06 浏览: 15
以下是Python代码实现:
```python
def count_char_in_string(string, char):
count = 0
for c in string:
if c == char:
count += 1
return count
# 示例
print(count_char_in_string('hello world', 'l')) # 输出:3
```
解释:
1. 定义一个名为 `count_char_in_string` 的函数,该函数接受两个参数:`string` 表示要计算的字符串,`char` 表示要统计的字符。
2. 初始化计数器 `count` 为 0。
3. 遍历字符串 `string` 中的每一个字符,如果该字符等于要统计的字符 `char`,则计数器 `count` 加 1。
4. 返回计数器 `count` 的值。
以上代码中的示例输出说明:在字符串 `'hello world'` 中,字符 `'l'` 一共出现了 3 次。
相关问题
统计一个字串在整串中出现的次数
可以使用字符串匹配算法来统计一个字串在整串中出现的次数。
常见的算法有暴力匹配、KMP算法、Boyer-Moore算法、Rabin-Karp算法等。
这里以暴力匹配为例,简单介绍一下。
暴力匹配算法的思路是,从主串的第一个字符开始,依次与模式串的每一个字符进行比较,如果匹配成功,则继续比较主串和模式串的下一个字符,直到模式串匹配完毕,说明找到了一个匹配的子串,计数器加1,然后从主串的下一个字符开始重新匹配。如果匹配失败,则从主串的下一个字符重新开始匹配。
具体实现可以参考下面的代码示例:
```python
def count_substring(s, sub):
count = 0
for i in range(len(s) - len(sub) + 1):
if s[i:i+len(sub)] == sub:
count += 1
return count
```
其中,s为主串,sub为子串,count为计数器,初始值为0。
代码中的for循环遍历主串中的每一个可能的起始位置,然后判断该位置开始的子串是否与模式串匹配。如果匹配成功,则计数器加1;否则继续从下一个位置开始匹配。
最后返回计数器的值,即为字串在整串中出现的次数。
示例:
```python
s = 'abababab'
sub = 'ab'
count = count_substring(s, sub)
print(count) # 输出:4
```
在主串s中,子串ab出现了4次。
完成记录一个字串在整串中出现的次数代码
好的,下面是一个示例代码:
```python
def count_substring(string, sub_string):
count = 0
for i in range(len(string)):
if string[i:i+len(sub_string)] == sub_string:
count += 1
return count
```
使用方法:
```python
string = "hello world, hello python"
sub_string = "hello"
count = count_substring(string, sub_string)
print(count) # 输出为 2
```
其中,`count_substring` 函数接收两个参数,`string` 表示整个字符串,`sub_string` 表示要查找的子串。函数中使用一个循环遍历整个字符串,通过判断每个子串是否与要查找的子串相同,来计数出现次数。最终返回计数结果。