华为机试题:HJ10 字符个数统计(python)

描述:编写一个函数,计算字符串中含有的不同字符的个数。字符在 ASCII 码范围内( 0~127 ,包括 0 和 127 ),换行表示结束符,不算在字符里。不在范围内的不作统计。多个相同的字符只计算一次。例如,对于字符串 abaca 而言,有 a、b、c 三种不同的字符,因此输出 3 。

数据范围: 1 ≤ n ≤ 500

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

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

示例1

输入:abc
输出:3

示例2

输入:aaa
输出:1

Python3

print(len(set(input())))
     
  • input():获取控制台(任意形式)的输入。输出均为字符串类型。
  • set() :创建集合。其表示一个无序不重复元素的序列。
  • len():返回字符串、列表、字典、元组等长度。
  • print() :打印输出。

知识点详解

1、set() :创建集合。表示一个无序不重复元素的序列。

【Python】集合set的使用详解

无序:无论序列中的元素在赋值给变量之前是什么顺序,赋值后各元素位置都将会随机显示。
不重复:对序列中的重复元素,赋值给变量后系统会自动去除重复元素,只保留一个。

  • 备注:【列表、元组和字符串】都属于序列。
  • 备注:set(str) 对字符串去重;set(tuple)对元组去重、set(list)对列表去重。

集合的创建方法:

  • (1)创建空集:set()
  • (2)创建集合:set((A,B))
  • (3)创建集合:{}
# (1)创建空集:set()
person1 = set()         # 空集合
print(len(person1))     # 【输出结果】0
print(person1)          # 【输出结果】set()

# (2)创建集合:set((A,B))
person2 = set(("student", "teacher", "babe", 123, 321, 123))
print(len(person2))     # 【输出结果】5
print(person2)          # 【输出结果】{321, 'teacher', 'babe', 123, 'student'}

# (3)创建集合:{}
person = {"student", "teacher", "babe", 123, 321, 123}
print(len(person))      # 【输出结果】5
print(person)           # 【输出结果】{'student', 321, 'teacher', 123, 'babe'}

2、len():返回字符串、列表、字典、元组等长度。

函数说明:len(object)

str_temp = "Hello, boy !"
print(len(str_temp))                    # 【输出结果】12
#############################################
list_temp = ['h', 'e', 'l', 'l', 'o']
print(len(list_temp))                   # 【输出结果】5
#############################################
dict_temp = {'num': 520, 'name': "do do"}
print(len(dict_temp))                   # 【输出结果】2
#############################################
tuple_temp = ('G', 'o', 'o', 'd')
print(len(tuple_temp))                  # 【输出结果】4

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

胖墩会武术

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值