duvida ep1

duvida ep1

by Lais Alvarenga -
Number of replies: 1

Olá, estou com uma duvida no ep. Quando executo minha função ela imprime a posicao certa do item que eu quero, mas se minha lista tem, por exemplo, 4 elementos, a funcao imprime 4 vezes a posicao desse elemento. Agora estou na duvida se o problema é no for ou no print. Creio que seja no for, alguem tem ideia do que fazer para arrumar isso?

Exemplo do que esta acontecendo:

>>>lista = [1,2, 3, 67, 89, 8]

>>>indice (3, lista)

2

2

2

2

2

2

 

In reply to Lais Alvarenga

Re: duvida ep1

by José Coelho de Pina -

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