Estou tendo que desenvolver uma atividade que pede o seguinte…
– Desenvolva uma classe que apresente todos os números primos existentes entre N1 e N2, em que N1
e N2 são números naturais fornecidos. Um número é primo quando é divisível somente por ele e pela unidade
(1).
Porém não consigo fazer mostrar os dois números e os entre eles.
Tem certeza que não é apenas uma função? Usar uma classe só pra isso não faz sentido.
Com uma classe eu faria assim:
class primos: # definicao de classe para se trabalhar com range de numeros entre n1 e n2
def __init__(self, n1, n2):
self.n1 = n1
self.n2 = n2
def lista(self): # metodo para listar os primos entre n1 e n2
list_primos = []
for n in range(self.n1, self.n2+1):
mult = 0
print(n)
for count in range(2, n):
if n % count == 0:
print("Múltiplo de", count)
mult += 1
if mult == 0 and n is not 1: # tratando o numero 1 deselegantemente (haha)
print("É primo")
list_primos.append(n)
return list_primos
# função main
primo = primos(1, 23) # inserir o intervalo
lista = primo.lista()
print(lista) #printar lista
Obs.: há inúmeras formas de resolver o problema. Nao me preocupei muito com a beleza do code, mas da pra quebrar um galho.
Outra coisa: não estou tratando as entradas N1 e N2, que devem ser somente números naturais.
Muito obrigado, ja consigo ter uma base para construir o código.