Faça um programa em python que leia 10 números inteiros e armazene em um
vetor. Em seguida escreva os elementos que são primos e suas respectivas
posições no vetor
Soluções para a tarefa
O programa abaixo não conta com validação de dados ou tratamento de exceções, logo é preciso ter cuidado com os dados digitados para evitar que sejam passados valores não inteiros (integers).
Nessa resolução, vamos utilizar listas como vetores e vamos adotar o posicionamento dos elementos na lista iniciando em 1 e terminando em 10.
Obs.: Os pontos que precedem algumas das linhas não fazem parte do programa, foram colocados apenas para garantir a indentação do código aqui no site.
[Python 3.8]
numeros = list()
for i in range(10):
.....numeros.append(int(input(f'Digite o {i+1}° valor: ')))
print('\nNumeros primos no vetor')
print(f'{"Posição":^12} {"Numero":^10}')
for pos,num in enumerate(numeros):
.....acc = 0
.....for i in range(1, num+1):
..........if num%i == 0:
...............acc += 1
.....if acc == 2:
..........print(f'{pos+1:^12} {num:^10}')
Comentários:
--> Utilizamos a função enumerate() para obter a posição dos elementos na lista.
--> A variável "acc" é utilizada para guardar o número de divisores de um número da lista.
--> A verificação do número quanto a ser ou não primo é feita com auxílio do operador "%" (resto da divisão). Um número é divisível por outro quando o resto da divisão é nula (0). Para que seja considerado primo, um número deve ter exatamente 2 divisores.
--> Por questão estética e também conveniência, os números primos e suas posições no vetor são mostrados em uma forma tabular simples.