一条python的作业题

给定由大写,小写字母和空格组成的字符串,返回最后一个单词的长度。
如果不存在最后一个单词,返回0
注意:
“单词”是指不包含空格符号的字符串
例如:
s = “hello World”, 那么返回的结果是5
格式:
第一行输入字符串s,然后输出s中最后一个单词的长度。
样例1
输入:
Today is a nice day
输出:
3
这是我写的:
nb = raw_input()
arr = nb.split(' ')
print len(arr[-1])
这样明明可以得出结果的,但网站提示不能通过,是不是还有其他办法?能帮我写另外一个看看嘛

阅读 4.3k
5 个回答
try:
    nb = raw_input()
    arr = nb.rstrip().split(' ')
    if len(arr) > 0:
        print len(arr[-1])
    else:
        print 0
except:
    print 0

spilt的两个单引号之间加了空格没有?

不知道lz你是什么网站 但你的代码是没问题的 可能是在网站上的输入字符串的读取有异样?希望你能提供一下你所说的网站

额。。把split(' ')改成split()会好一点
貌似split(' ')会把
as   a   转成
['as', '', '', '', 'a', '', '', '']

while (True):
    sub_str = raw_input().split()

    try:
        print len(sub_str[-1])
    except IndexError:
        print 0

这样也许可以

考虑边界情况,即空字符串

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题