当前位置: 首页 > news >正文

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

文章目录

  • 知识点详解
    • 1、set() :创建集合。表示一个无序不重复元素的序列。
    • 2、len():返回字符串、列表、字典、元组等长度。

描述:编写一个函数,计算字符串中含有的不同字符的个数。字符在 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

相关文章:

  • 做物流网站注意什么/经典品牌推广文案
  • 网站建设好了怎么弄手机网站建设/重庆网站seo搜索引擎优化
  • 软件技术主要课程/长沙百度网站排名优化
  • wordpress怎么css/头条搜索站长平台
  • 犀牛做网站的公司/网站seo课程
  • 莱芜区法院网站/河北网络科技有限公司
  • 磨金石教育分享||CG特效技术主要应用在哪几个领域
  • ESP32 FreeRTOS-流缓冲区(12)
  • 十五天学会Autodesk Inventor,看完这一系列就够了(二),软件界面
  • 深度学习基础理念(一)
  • core-js常见于qiankun中的多份polyfill冲突问题
  • JavaWeb基础(二) HTTP、Tomcat、Servlet介绍
  • 《Linux Shell脚本攻略》学习笔记-第五章
  • VMware17虚拟机安装Ubuntu最新版本(Ubuntu22.04LTS)详细步骤
  • [极客大挑战 2019]Upload
  • 指针习题(1):升序排序
  • 【自学Docker】Docker环境命令
  • Nginx高并发实现原理学习