键盘输入一行字符串,统计空格、数字、中文、英文字符和其他字符个数。基本中文字符的Unicode编码范围是:4E00~9FA5
时间: 2024-05-15 20:16:52 浏览: 39
示例:
输入:Hello, 你好!123
输出:
空格:2
数字:3
中文字符:2
英文字符:9
其他字符:2
代码实现:
```python
s = input() # 输入字符串
space_cnt = 0 # 空格个数
digit_cnt = 0 # 数字个数
chinese_cnt = 0 # 中文字符个数
english_cnt = 0 # 英文字符个数
other_cnt = 0 # 其他字符个数
for c in s:
if c == ' ':
space_cnt += 1
elif c.isdigit():
digit_cnt += 1
elif '一' <= c <= '\u9fff':
chinese_cnt += 1
elif c.isalpha():
english_cnt += 1
else:
other_cnt += 1
print("空格:%d" % space_cnt)
print("数字:%d" % digit_cnt)
print("中文字符:%d" % chinese_cnt)
print("英文字符:%d" % english_cnt)
print("其他字符:%d" % other_cnt)
```
相关问题
对一行字符串统计不同字符个数,分别统计并输出中英文字字符,空格,数字和其他字符个数代码
以下是统计不同字符个数的代码:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[100];
int i, len, alpha = , digit = , space = , other = ;
int count[256] = {};
printf("请输入一行字符串:\n");
fgets(str, 100, stdin);
len = strlen(str);
for (i = ; i < len; i++) {
if (isalpha(str[i])) {
alpha++;
count[str[i]]++;
} else if (isdigit(str[i])) {
digit++;
count[str[i]]++;
} else if (isspace(str[i])) {
space++;
count[str[i]]++;
} else {
other++;
count[str[i]]++;
}
}
printf("中英文字字符个数:%d\n", alpha);
printf("数字个数:%d\n", digit);
printf("空格个数:%d\n", space);
printf("其他字符个数:%d\n", other);
printf("不同字符个数:\n");
for (i = ; i < 256; i++) {
if (count[i] > ) {
printf("%c:%d\n", i, count[i]);
}
}
return ;
}
```
注意:以上代码只能统计 ASCII 码字符,如果要统计 Unicode 字符,需要使用更复杂的方法。
如何编写代码来统计一行字符串中各类型字符的数量?具体包括:中文和英文字符、空格、数字以及其他的特殊字符,并分别输出各自出现的次数?
要编写代码来统计字符串中各种类型的字符数量,你可以采用以下步骤,这里以Python为例:
1. 定义一个函数,接受一个字符串作为输入。
```python
def count_chars(input_string):
```
2. 创建四个变量,分别用于存储中文、英文字符、空格和特殊字符的数量,初始化为0。
```python
chinese = 0
english = 0
spaces = 0
special_chars = 0
```
3. 使用`isinstance()`函数检查每个字符的类别并更新相应的计数。
- 对于中文字符,可以使用Unicode范围来识别。
- 英文字符包括大写字母、小写字母和非字母字符。
- 空格使用`isspace()`函数检测。
- 特殊字符则排除已知类型的所有其他字符。
```python
for char in input_string:
if '\u4e00' <= char <= '\u9fff': # 中文字符
chinese += 1
elif char.isalpha(): # 英文字符
english += 1
elif char.isspace(): # 空格
spaces += 1
else: # 其他特殊字符
special_chars += 1
```
4. 返回一个字典,包含各类字符的数量。
```python
result = {
"中文": chinese,
"英文": english,
"空格": spaces,
"特殊字符": special_chars
}
return result
```
完整代码示例:
```python
def count_chars(input_string):
chinese = 0
english = 0
spaces = 0
special_chars = 0
for char in input_string:
if '\u4e00' <= char <= '\u9fff':
chinese += 1
elif char.isalpha():
english += 1
elif char.isspace():
spaces += 1
else:
special_chars += 1
result = {
"中文": chinese,
"英文": english,
"空格": spaces,
"特殊字符": special_chars
}
return result
# 测试函数
input_string = "Hello 世界! 123@#$%"
print(count_chars(input_string))
```
阅读全文