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.
Ajuda em uma atividade
Y
3 Respostas
M
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.
M
Outra coisa: não estou tratando as entradas N1 e N2, que devem ser somente números naturais.
Y
Muito obrigado, ja consigo ter uma base para construir o código.
Criado 14 de outubro de 2020
Ultima resposta 16 de out. de 2020
Respostas 3
Participantes 2
Alura Git Flow: entenda o que é, como e quando utilizar Entenda o que é Git Flow, como funciona seu fluxo com branches como Master, Develop, Feature, Release e Hotfix, além de vantagens e desvantagens.
Casa do Codigo Aprenda a programar com Python: Descomplicando o... Por Leonardo Soares e Silva, Gabriel Fortes — Casa do Codigo