-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathex33.py
More file actions
40 lines (33 loc) · 1.22 KB
/
Copy pathex33.py
File metadata and controls
40 lines (33 loc) · 1.22 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# Exercícios:
# 1) Crie uma lista que armazene inteiros de um usuário em um loop até que o
# usuário não deseje mais adicionar, trate o erro com try/except caso o usuário
# digite uma letra ao invés de um numero. Passe essa lista para uma função
# geradora que reconhecerá quais são os números primos dentro da lista
# passada inicialmente. Caso seja um numero primo, retorne pelo método yield,
# caso contrário passe para o próximo numero. Ao final, imprima os valores
# retornados pelo yield em forma de tupla
from biblioteca import libs
def isPrime(lista):
for numero in lista:
primo = True
for i in range(2, int(numero**0.5) + 1):
if numero % i == 0:
primo = False
break
if primo:
yield numero
numeroLista = []
while True:
num = libs.lerInt('Digite um número: ')
numeroLista.append(num)
mais = str(input('Quer adicionar mais? [S/N]: ')).strip().upper()
if mais not in 'SN':
print('ERRO! Digite "S" para sim e "N" para não')
if mais == 'N':
break
elif mais == 'S':
continue
if len(numeroLista) == 0:
print(f'Não foi digitado nenhum número primo')
else:
print(tuple(isPrime(numeroLista)))