编写一个函数,计算字符串中含有的不同字符的个数。 字符ASCII码范围内(0~127 ,包括0和127 ),换行表示结束符,不算在字符里。不在范围内的不作统计。多个相同的字符只计算一次 例如,对于字符串abaca而言,有a、b、c三种不同的字符,因此输出3 。 数据范围:1≤n≤500 输入描述:输入一行没有空格的字符串。 输出描述:输出输入字符串中范围在(0~127,包括0和127)字符的种数。
时间: 2024-02-24 16:54:53 浏览: 162
统计字符串中数字、字母和空格的个数
5星 · 资源好评率100%
可以编写一个函数来实现计算字符串中不同字符的个数。函数的输入为一个字符串,输出为不同字符的个数。
以下是一个 Python 代码示例:
```python
def count_distinct_chars(s):
appeared = [0] * 128 # 初始化数组
count = 0 # 统计不同字符个数
for c in s:
if ord(c) < 128 and ord(c) >= 0 and appeared[ord(c)] == 0:
# 如果字符的ASCII码在0~127范围内,并且之前没有出现过
appeared[ord(c)] = 1 # 标记为出现过
count += 1 # 不同字符个数加1
return count
```
可以将这个函数封装到一个模块中,在需要计算不同字符个数的时候直接调用该函数即可。例如:
```python
import distinct_chars_count
s = input().strip() # 输入字符串,去掉首尾空格
count = distinct_chars_count.count_distinct_chars(s)
print(count)
```
需要注意的是,这里的 `input()` 函数会读取一行用户输入并返回一个字符串,函数中的 `strip()` 方法会去掉字符串首尾的空格。应该在调用函数之前对输入字符串进行预处理。
阅读全文