输入的字符串有以下三种情况:
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))
如有不足之处欢迎指正。