Python从键盘输入任意字符串,统计并输出其中字符,数字,其它字母的个数, 例:Aa33bB!!! 输出:4,2,3
时间: 2024-10-09 19:07:04 浏览: 65
在Python中,你可以使用内置的函数如`isdigit()`、`isalpha()`和`count()`来实现这个功能。这里是一个简单的示例程序:
```python
def count_elements(input_string):
num_count = sum(c.isdigit() for c in input_string) # 统计数字字符
char_alpha_count = sum(1 for c in input_string if c.isalpha()) # 分别统计字母(区分大小写)
char_other_count = len(input_string) - num_count - char_alpha_count # 计算非数字和字母的字符
return num_count, char_alpha_count, char_other_count
input_string = input("请输入任意字符串: ")
num, char_alpha, char_other = count_elements(input_string)
print(f"数字字符: {num}, 英文字符(包括大小写): {char_alpha}, 其它字符: {char_other}")
#
相关问题
描述 给定一个字符串,输出该字符串中的英文字母(包括大小写)、数字、空格、其他字符(每个中文字符算1个)的个数。 【考试组织者备注: python不作答该试题,练习时请跳过】 输入描述 输入任意字符串,字符串中可能包含英文字母、数字、空格和其他字符,以换行符(\n)结束。例如: 【字符串1】Have a nice day! :-) --来自Linda的祝福 【字符串2】Aa Bb 123 &* 输出描述 输出字符串中英文字母(包含大小写)、数字、空格、其他字符(每个中文字符算1个)的个数,以英文空格分隔。例如: 对【字符串1】,输出:17 0 5 11 对【字符串2】,输出:4 3 3 2。使用C语言实现
以下是使用 C 语言实现的代码,可以统计输入字符串中英文字母(包含大小写)、数字、空格、其他字符(每个中文字符算1个)的个数,并以英文空格分隔输出。
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char c;
int letter_count = 0, digit_count = 0, space_count = 0, other_count = 0, chinese_count = 0;
// 读入字符串,以换行符结束
while ((c = getchar()) != '\n') {
if (isalpha(c)) {
letter_count++;
} else if (isdigit(c)) {
digit_count++;
} else if (isspace(c)) {
space_count++;
} else if (c >= 0x4e00 && c <= 0x9fa5) {
chinese_count++;
} else {
other_count++;
}
}
// 输出统计结果
printf("%d %d %d %d\n", letter_count, digit_count, space_count, other_count + chinese_count);
return 0;
}
```
注意,上述代码只是一个简单的实现,可能存在性能问题和不足之处,需要根据实际情况进行优化。
编写一个函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其他字符的个数,在主函数中输入字符串以及输出上述的结果。例如:输入aA12 **,则输出字母个数:2;数字个数:2;空格个数:2;
好的,我来为您编写一个符合要求的Python函数。以下是实现代码:
```python
def count_chars(s):
letter_count = 0
digit_count = 0
space_count = 0
other_count = 0
for char in s:
if char.isalpha():
letter_count += 1
elif char.isdigit():
digit_count += 1
elif char.isspace():
space_count += 1
else:
other_count += 1
return letter_count, digit_count, space_count, other_count
def main():
input_str = input("请输入一个字符串:")
letters, digits, spaces, others = count_chars(input_str)
print(f"字母个数:{letters}")
print(f"数字个数:{digits}")
print(f"空格个数:{spaces}")
print(f"其他字符个数:{others}")
if __name__ == "__main__":
main()
```
这段代码的工作原理如下:
1. `count_chars` 函数接受一个字符串作为参数。
2. 它初始化四个计数器:字母、数字、空格和其他字符。
3. 使用 for 循环遍历字符串中的每个字符。
4. 使用字符串方法 `isalpha()`, `isdigit()` 和 `isspace()` 来判断字符类型,并相应地增加计数器。
5. 函数返回包含四个计数的元组。
6. 在 `main` 函数中,我们获取用户输入的字符串。
7. 调用 `count_chars` 函数并接收返回的结果。
8. 最后,打印出每个类别的字符计数。
使用这个程序,当输入 "aA12 **" 时,输出将会是:
```
字母个数:2
数字个数:2
空格个数:2
其他字符个数:2
```
这个结果与您提供的示例相符。
阅读全文
相关推荐
![](https://img-home.csdnimg.cn/images/20250102104920.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)