天天看点

01---字符串最后一个单词的长度

描述

计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于​

​5000​

​。(注:字符串末尾不以空格为结尾)

输入描述:

输入一行,代表要计算的字符串,非空,长度小于​

​5000​

​。

输出描述:

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

示例1

输入:

hello nowcoder      

输出:

8      

说明:

最后一个单词为​​

​nowcoder​

​​,长度为​

​8​

注意: 牛客网中,所有参数的输入会自动进行,所以我们只需要使用​

​input()​

​来获取就好了。

方法一:

解题思路:

  1. 将字符串整个翻转
  2. 从第一个字母开始读取(字符串末尾不以空格为结尾)
  3. 读到空格位置结束(因为字符串中的所有单词是用空格进行分割的)

这样就获取到了字符串最后一个单词的长度。

代码如下:

a = input()
num = 0
for i in reversed(a):
    if i != " ":
        num += 1
    else:
        break
print(num)      

方法二:

解题思路:

  1. 将字符串用​

    ​split()​

    ​函数分开成列表数据
  2. 使用索引值​

    ​[-1]​

    ​访问列表中的最后一个字符串。
  3. 使用len()函数读取列表最后一个字符串的长度。

这样就获取到了字符串最后一个单词的长度。

a = "hello nowcoder"
print(len(a.split(" ")[-1]))      

如上所示,我们使用了​

​split(" ")​

​函数来分割字符串,因为题目中设定了字符串末尾不以空格为结尾。那么对于一般情况,如果字符转末尾以空格为结尾该怎么办呢?这里可以将方法二优化为通用方法:

方法三:(推荐,通用解法)

a = "hello nowcoder"
print(len(a.split()[-1]))