输入一个字符串,统计字符串中非英文字母的字符个数
时间: 2023-10-09 11:09:19 浏览: 103
好的,以下是 Python 代码实现:
```python
def count_non_english_chars(string):
count = 0
for char in string:
if char.isalpha() == False and char != ' ':
count += 1
return count
```
其中,`string` 为输入的字符串,`count_non_english_chars()` 函数会遍历字符串中的每一个字符,如果该字符不是英文字母且不是空格,则计数器 `count` 加 1。最终返回计数器的值,即非英文字母的字符个数。
示例调用:
```python
string = "Hello, 你好!This is a test."
count = count_non_english_chars(string)
print(count) # 输出:3
```
在上面的例子中,字符串中的非英文字母字符有三个,分别是中文字符“你好”中的两个字符和句号“.”一个字符。
相关问题
如何用c语言输入一个字符串,统计字符串中非英文字母字符个数
可以使用 C 语言中的字符数组和循环结构,具体实现如下:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[100]; // 字符数组用于存储字符串
int count = 0; // 统计非英文字母字符个数
printf("请输入一个字符串:\n");
scanf("%s", str); // 读入字符串
// 循环遍历字符串中的每一个字符
for (int i = 0; str[i] != '\0'; i++) {
if (!isalpha(str[i])) { // 如果不是英文字母
count++; // 统计个数加一
}
}
printf("字符串中非英文字母字符个数为:%d\n", count);
return 0;
}
```
解释一下代码中用到的函数:
- `scanf("%s", str)`:从标准输入读入一个字符串,保存到字符数组 `str` 中。注意这里没有使用 `&`,因为 `str` 本身就是一个指向字符数组的指针。
- `str[i] != '\0'`:判断字符串是否结束。每个字符串在最后都会有一个空字符 `\0`,表示字符串结束。
- `isalpha(str[i])`:判断字符是否是英文字母,如果是则返回非零值,否则返回零。这个函数需要包含头文件 `ctype.h`。
输入一个字符串,统计字符串中非英文字母的字符个数并输出
可以使用Python进行实现,代码如下:
```python
import re
str = input("请输入字符串:")
result = re.findall('[^a-zA-Z]', str) # 找出非英文字母的字符
count = len(result) # 统计个数
print("非英文字母的字符个数为:", count)
```
输入一个字符串后,程序会通过正则表达式找出非英文字母的字符,并统计其个数输出。
阅读全文