写一个函数求出一个字符串中所有字母的出现次数,不区分大小写
时间: 2024-03-22 22:37:50 浏览: 18
好的,以下是 Python 代码实现:
```python
def count_letters(s):
"""
统计字符串中每个字母出现的次数,不区分大小写
"""
d = {}
for c in s.lower():
if c.isalpha():
d[c] = d.get(c, 0) + 1
return d
```
函数 `count_letters` 接受一个字符串 `s`,通过字典 `d` 统计每个字母出现的次数。首先将字符串转换为小写字母,然后遍历每个字符,如果是字母就在字典中更新对应的计数器。最后返回字典 `d`。
例如,输入字符串 `"Hello, World!"`,函数的输出为 `{'h': 1, 'e': 1, 'l': 3, 'o': 2, 'w': 1, 'r': 1, 'd': 1}`,表示字符 `h` 出现了 1 次,字符 `e` 出现了 1 次,字符 `l` 出现了 3 次,以此类推。
相关问题
编写函数 统计给定字符串中各个字母出现的次数 不区分大小写
可以使用Python内置的字典类型来统计每个字母出现的次数。具体实现如下:
```python
def count_letters(s):
# 将字符串转换为小写,方便统计
s = s.lower()
# 定义一个空字典,用于统计每个字母出现的次数
letter_counts = {}
# 遍历字符串中的每个字符
for c in s:
# 如果是字母,则更新字典中对应字母的计数
if c.isalpha():
letter_counts[c] = letter_counts.get(c, 0) + 1
# 返回字典
return letter_counts
```
这个函数接受一个字符串作为输入,返回一个字典,其中键为每个出现过的字母(不区分大小写),值为该字母在字符串中出现的次数。可以通过以下方式调用该函数:
```python
s = "Hello, World!"
counts = count_letters(s)
print(counts)
```
输出结果为:
```
{'h': 1, 'e': 1, 'l': 3, 'o': 2, 'w': 1, 'r': 1, 'd': 1}
```
表示在字符串中,字母'h'出现了一次,字母'e'出现了一次,字母'l'出现了三次,以此类推。
c语言编写函数 统计给定字符串中各个字母出现的次数 不区分大小写
可以使用一个长度为26的整型数组来统计每个字母出现的次数,同时将所有的字母转换为小写字母进行统计。具体实现如下:
```c
#include <stdio.h>
#include <string.h>
#include <ctype.h>
void count_letters(char* str, int* count) {
int len = strlen(str);
for (int i = 0; i < len; i++) {
char c = tolower(str[i]);
if (c >= 'a' && c <= 'z') {
count[c - 'a']++;
}
}
}
int main() {
char str[] = "Hello, world!";
int count[26] = {0};
count_letters(str, count);
for (int i = 0; i < 26; i++) {
printf("%c: %d\n", 'a' + i, count[i]);
}
return 0;
}
```
在这个例子中,`count_letters()` 函数接受一个字符串和一个整型数组,统计字符串中每个字母出现的次数,并将结果存储在整型数组中。`main()` 函数定义了一个字符串和一个长度为26的整型数组,然后调用 `count_letters()` 函数来统计字符串中每个字母出现的次数。最后,使用 `printf()` 函数输出结果。