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 >>>