华为机试题:HJ1 字符串最后一个单词的长度(python)

文章目录

  • 知识点详解
    • 1、strip():用于移除字符串头 / 尾指定的字符(默认为空格或换行符)或字符序列,但不能删除中间部分的字符。
    • 2、split():通过指定分隔符(默认为空格)对字符串进行切片,并返回分割后的字符串列表(list)。
    • 3、len():返回字符串、列表、字典、元组等长度。

描述:计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾)

输入描述:输入一行,代表要计算的字符串,非空,长度小于5000。

输出描述:输出一个整数,表示输入字符串最后一个单词的长度。

示例1

输入:hello nowcoder
输出:8
说明:最后一个单词为nowcoder,长度为8。

Python3

str_temp = input().strip().split(' ') 
print(len(str_temp[-1]))

  • input():用于获取控制台的输入。
  • strip():用于移除字符串头 / 尾指定的字符(默认为空格或换行符)或字符序列,但不能删除中间部分的字符。
  • split():通过指定分隔符(默认为空格)对字符串进行切片,并返回分割后的字符串列表(list)。
  • len():返回字符串、列表、字典、元组等长度。
  • print() :用于打印输出。

知识点详解

1、strip():用于移除字符串头 / 尾指定的字符(默认为空格或换行符)或字符序列,但不能删除中间部分的字符。

str3 = str1.strip(str2):其中,str1是操作字符串,str2是待移除指定的字符或字符序列。str3是移除后生成的新字符串。

str_temp1 = "  123 ABCDEFG 321"
str_temp2 = "  123 ABCDEFG 321"
str_temp3 = "  123 ABCDEFG 321"
print(str_temp1.strip())            # 【输出结果】"123 ABCDEFG 321"
print(str_temp2.strip('12'))        # 【输出结果】"  123 ABCDEFG 321  "
print(str_temp3.strip('3'))         # 【输出结果】"  123 ABCDEFG 321  "

2、split():通过指定分隔符(默认为空格)对字符串进行切片,并返回分割后的字符串列表(list)。

str.split(str=".", num=string.count(str))[n]
参数说明:

  • (1)str: 表示分隔符,默认为空格,但是不能为空。若字符串中没有分隔符,则把整个字符串作为列表的一个元素。
  • (2)num:表示分割次数。如果存在参数num,则仅分隔成 num+1 个子字符串,并且每一个子字符串可以赋给新的变量。
  • (3)[n]: 表示选取第n个切片。
  • 注意:当使用空格作为分隔符时,对于中间为空的项会自动忽略。
s = 'www.dod.com.cn'
print('分隔符(默认): ', s.split())                    # 【输出结果】分隔符(默认):  ['www.dod.com.cn']
print('分隔符(.): ', s.split('.'))                   # 【输出结果】分隔符(.):  ['www', 'dod', 'com', 'cn']
print('分割1次, 分隔符(.): ', s.split('.', 1))        # 【输出结果】分割1次, 分隔符(.):  ['www', 'dod.com.cn']
print('分割2次, 分隔符(.): ', s.split('.', 2))        # 【输出结果】分割2次, 分隔符(.):  ['www', 'dod', 'com.cn']
print('分割2次, 分隔符(.), 取出分割后下标为1的字符串: ', s.split('.', 2)[1])      # 【输出结果】分割2次, 分隔符(.), 取出分割后下标为1的字符串:  dod
print(s.split('.', -1))                             # 【输出结果】['www', 'dod', 'com', 'cn']
###########################################
# 分割2次, 并分别保存到三个变量
s1, s2, s3 = s.split('.', 2)
print('s1:', s1)                                    # 【输出结果】s1: www
print('s2:', s1)                                    # 【输出结果】s2: www
print('s3:', s2)                                    # 【输出结果】s3: dod
###########################################
# 连续多次分割
a = 'Hello<[www.dodo.com.cn]>Bye'
print(a.split('['))                                 # 【输出结果】['Hello<', 'www.dodo.com.cn]>Bye']
print(a.split('[')[1].split(']')[0])                # 【输出结果】www.dodo.com.cn
print(a.split('[')[1].split(']')[0].split('.'))     # 【输出结果】['www', 'dodo', 'com', 'cn']

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

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

你可能感兴趣的:(华为机试题,python,开发语言)