快捷搜索: 王者荣耀 脱发

字符个数统计(华为机试,Python)

题目描述

编写一个函数,计算字符串中含有的不同字符的个数。字符在ASCII范围内。不再范围内的不做统计。

输入/输出描述

输入数据 输入N个字符,字符在ASCII范围内。例如:abc 输出数据 输出不同字符的个数。例如:3。 说明 因为输入数据中abc含有3个不同的字符,所以输出3。

代码展示

"""
    编写一个函数,计算字符串中含有的不同字符的个数。字符在ASCII范围内。不再范围内的不做统计。
    输入描述:输入N个字符,字符在ASCII范围内。
    输出描述:输出不同字符的个数。
    输入示例:adb
    输出示例:3
"""



string = input()
count = 0
string_set = set(string)


for ch in string_set:
    if abs(ord(ch)) < 127:
        count = count + 1

print(count)

代码走读

"""
    编写一个函数,计算字符串中含有的不同字符的个数。字符在ASCII范围内。不再范围内的不做统计。
    输入描述:输入N个字符,字符在ASCII范围内。
    输出描述:输出不同字符的个数。
    输入示例:adb
    输出示例:3
"""


string = input()
# count表示不同字符的个数。在这里初始化为0
count = 0
# 将输入的字符串转换成集合(滤去重复元素)
string_set = set(string)


# 遍历整个集合,如果元素在ASCII范围内,则count自增1
for ch in string_set:
    if abs(ord(ch)) < 127:
        count = count + 1

# 打印输出结果
print(count)

测试用例

1. 输入的字符串包含相同字符;

2. 输入的字符串包含不相同的字符;

3. 输入的字符串包含ASCII范围外的字符

传送门

1. input()函数

2. set()函数

3. ord()函数

4. abs()函数

5. print()函数

经验分享 程序员 微信小程序 职场和发展