输入的字符串有以下三种情况:
1)一个单词:
如:
"Hello"
这种直接输出其长度就可以。
2)末尾单词没有标点:
如:
"hello world"
用Python特有的负数访问,返回空格的索引,末尾单词的长度就是返回值的相反数加一。
3)末尾单词带有标点:
如:
"Hello world !"
从索引为-3的位置开始访问,置其为-1,和第二种一样返回索引,长度也是返回值的相反数加一。
具体代码如下:

def reindex(str) :     #定义函数用于返回索引
    for i in range(-1,-(len(str) + 1),-1) :   #逆序遍历
        if str[i] == ' ' :
            return i 
str = input().strip()
if str.isalpha():     #第一种情况
    print(len(str))
elif str[-1].isalpha():   #第二种情况
    index = reindex(str)
    print(-(index + 1))
else :                    #第三种情况
    index = reindex(str[:len(str) - 2])
    print(-(index + 1))

如有不足之处欢迎指正。