描述, 编写一个函数,计算字符串中含有的不同字符的个数。字符在 ASCII 码范围内( 0~127 ,包括 0 和 127 ),换行表示结束符,不算在字符里。不在范围内的不作统计。多个相同的字符只计算一次。

例如,对于字符串 abaca 而言,有 a、b、c 三种不同的字符,因此输出 3 。

数据范围: 1 \le n \le 500 \1≤n≤500

输入描述:输入一行没有空格的字符串。

输出描述:输出 输入字符串 中范围在(0~127,包括0和127)字符的种数。

输入:uqic^g`(s&jnl(m#vt!onwdj(ru+os&wx

输出:24

def dif1(test_str):
    testS_ = sorted(list(test_str))
    # print(testS_)
    tempS = list(testS_[0])
    for i in range(len(testS_) - 1):
        if testS_[i + 1] != testS_[i]:
            tempS.append(testS_[i + 1])
            # print(tempS)
            # ['!', '#', '&', '(', '+', '^', '`', 'c', 'd', 'g', 'i', 'j', 'l', 'm', 'n', 'o', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x']
        else:
            continue
    print(len(tempS))


def dif2(test_str):
    testS_ = set(sorted(list(test_str)))
    # {'l', 'd', 'g', 'm', '!', 'x', 's', '`', 'o', '^', '#', 'n', 'i', 'u', '(', 'q', '&', 't', 'c', 'j', 'w', '+', 'v', 'r'}
    # print(testS_)
    print(len(testS_))


test_str = input()
# uqic^g`(s&jnl(m#vt!onwdj(ru+os&wx
dif2(test_str=test_str)
# 24