如何在以下代码中修复Python中的“ int对象不可下标”?

时间:2019-06-03 16:02:47

标签: python

在给定语句中,每个单词都必须位于不同的行上,并且不能打印最后一个单词。

# [ ] Print each word in the quote on a new line  
quote = "they stumble who run fast"
start = 0
space_index = quote.find(" ")
while space_index != -1:
    print(quote[start:space_index])
    start = space_index+1
    space_index = quote.find(" ",start)
    if space_index == -1:
        print(space_index[start:])
Expected output:
they
stumble
who
run
fast

我无法打印最后一个单词:“快速”

4 个答案:

答案 0 :(得分:1)

我认为您的意思是print(quote[start:])。还有许多更简单的方法可以做到这一点。

答案 1 :(得分:0)

如下更改您的最后一个代码。这很可能是拼写错误。

if space_index == -1: 
    print(space_index[start:])

收件人:

if space_index == -1: 
    print(quote[start:])

答案 2 :(得分:0)

错误是space_index是一个int,而您打算执行print(quote[start:])

或者,您可能想执行以下操作

quote = "they stumble who run fast"
quote = quote.split()
for i in quote:
    print(i)

答案 3 :(得分:0)

space_index是一个整数,所以您不能这样做:

print(space_index[start:])

这是因为出于同样的原因,您无法执行2[3:]

您需要使用:

print(quote[start:])

解决此问题的更好方法是:

quote = "they stumble who run fast"
print(*quote.split(), sep='\n')

打印:

they
stumble
who
run
fast