Não importa em quais dados ele está trabalhando. De qualquer forma, você está apenas usando print "spam"
ou alguma expressão complicada, o for-loop deve ser fechado depois de duas entradas ou uma exceção do Python será gerada com dados inválidos ou com um erro de sintaxe.
O problema é que você está recuando as linhas vazias, então o intérprete acha que você ainda vai fornecer algum código.
Veja a diferença no trecho de código abaixo (selecione o texto para ver o motivo):
>>> for x in range(4):
... print x
...
0
1
2
3
>>> for x in range(4):
... print x
...
...
...
...
0
1
2
3
>>>