You can use the native function enumerate()
which is capable of receiving a list or any other object everlasting as parameter and return a generator of tuples containing the index and its respective value in the list, see only:
vetor = [10,20,30,40,50]
gen = enumerate(vetor)
print(list(gen))
Exit:
[(0, 10), (1, 20), (2, 30), (3, 40), (4, 50)]
See working on repl it.
Follow an example of code able to solve your problem by making use of the function enumerate()
:
def eh_primo(n):
if n < 2:
return False
for i in range(2, n):
if n % i == 0:
return False
return True
def ler_numeros(n):
v = []
for i in range(n):
n = int(input("Digite um número para armazena-lo: "))
v.append(n)
return v
for i, n in enumerate(ler_numeros(10)):
if eh_primo(n):
print(f'O numero {n} eh primo e estah na posicao {i} do vetor.')
Testing:
Digite um número para armazena-lo: 101
Digite um número para armazena-lo: 102
Digite um número para armazena-lo: 103
Digite um número para armazena-lo: 104
Digite um número para armazena-lo: 105
Digite um número para armazena-lo: 106
Digite um número para armazena-lo: 107
Digite um número para armazena-lo: 108
Digite um número para armazena-lo: 109
Digite um número para armazena-lo: 110
Exit:
O numero 101 eh primo e estah na posicao 0 do vetor.
O numero 103 eh primo e estah na posicao 2 do vetor.
O numero 107 eh primo e estah na posicao 6 do vetor.
O numero 109 eh primo e estah na posicao 8 do vetor.
See working on repl it.
Lucas, can you make a table test of your code? Why the variable
c
varies from 0 to 3? What would be the logic ofNone
when there is more than one divisor? What would be the methodindex()
of the list?– Woss
c
is to vary from 0 to 10, I only used 3 to test the code faster. ENone
is because I don’t want him to do anything when the number isn’t prime.– Lucas Souza Soares
It would no longer agree with what was requested if you first read the whole vector and then traverse the vector to see if each element is prime?
– anonimo
I get it, what you proposed, I just don’t know how to do it. .
– Lucas Souza Soares