用Python实现输出一个字符串中最后一个单词的长度

题目内容:

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

输入格式:

一行字符串,非空,长度小于5000。

输出格式:

整数N,最后一个单词的长度。

输入样例:

hello world

输出样例:

5

#解法1:
s = str(input())
j = 0
for i in s:
    if i!=' ':
        j+= 1
    else:
        j = 0
print(j)



#解法2:
s = str(input())
j = 0
for i in s[-1::-1]:
    if i!=' ':
        j+= 1
    else:
        break
print(j)

在解法二中,我们利用字符串的索引与切片(s[-1::-1]),从字符串的最后一个字母往前遍历,当遇到空格时退出循环,否则j递增,这样就很容易计算出最后的单词的长度。而解法一是从前往后遍历,明显花费更多的时间。

注意:下面有一个错误写法:

s=str(input())
j=0
for i in s[-1::-1]:   
    if i is not ' ':
        j+=1
    if i is ' ':
       break
print(j)

此解法的错误在于没有区分 is、is not(身份运算符)=、!=(关系运算符)的区别,is和is not判断的是两个标识符是否引用自一个对象,即判断两个对象的存储地址是否相同,而=和!=则判断两个对象的值是否相等,不能混用。

猜你喜欢

转载自blog.csdn.net/qq_40760732/article/details/89155191