Quando executo minha função ela imprime a posicao certa do item que eu quero
O seu programa deve ter alguma chamada da função print() dentro de um comando de repetição como while ou for. Esse print() não deveria estar ai.
Aliás, a função indice() não deve usar a função print(), a não ser, possivelmente, na fase de testes.
Quando executamos uma função no Python Shell ("calculadora"), o shell mostra para nós o objeto retorna pela função (= resultado do comando return objeto).
Abaixo estão exemplos de duas funções que aos olhos do shell podem parecer ter o mesmo comportamento, mas na verdade não tem.
Alguem consegue dizer qual a diferença?
def some_e_imprima(a,b):
print(a + b) # função print()
def some_e_retorne(a,b):
return a + b # comando return
Vejam a seguir como o comportamento no Python shell é semelhante.
Qual a diferença das duas.
Alguém consegue mostrar alguma situação que mostra a diferença das duas?
Python 3.4.3 (default, Mar 26 2015, 22:03:40)
[GCC 4.9.2] on linux
Type "copyright", "credits" or "license()" for more information.
>>> ================================ RESTART ================================
>>>
>>> some_e_imprima(12,34)
46
>>> some_e_retorne(12,34)
46
>>>