# Calculadora de números primos em python

Jul 31st, 2021
2,057
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
1. #!/usr/bin/env python
2. # -*- coding: utf-8 -*-
3. #
4. #  NumerosPrimos.py
5. #
6. #  Copyright 2021 Elizeu Barbosa Abreu <elizeubcorreios@gmail.com>
7. #
8. #  This program is free software; you can redistribute it and/or modify
9. #  it under the terms of the GNU General Public License as published by
10. #  the Free Software Foundation; either version 2 of the License, or
11. #  (at your option) any later version.
12. #
13. #  This program is distributed in the hope that it will be useful,
14. #  but WITHOUT ANY WARRANTY; without even the implied warranty of
15. #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16. #  GNU General Public License for more details.
17. #
18. #  You should have received a copy of the GNU General Public License
19. #  along with this program; if not, write to the Free Software
20. #  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
21. #  MA 02110-1301, USA.
22. #
23. #
24.
25. import os
26. from time import sleep
27.
28. class cor:
29.     vermelho = '\033[91m'
30.     verde = '\033[92m'
31.     inversa = '\033[7m'
32.     fim = '\033[m'
33.
34. def cls():
35.     os.system('clear')
36.
37. count = 0
38.
39. # PARA SER PRIMO O NÚMERO PODE SER DIVISÍVEL APENAS POR ELE MESMO OU POR 1.
40. # USEI UM CONTADOR QUE CONTA TODAS AS VEZES QUE O NUMERO SENDO DIVIDIDO PELOS SEUS
41. # ANTECESSORES RETORNA TRUE. SEI QUE ESTE NÃO É O MÉTODO MAS RÁPIDO MAS FOI A MANEIRA ENCONTRADA
42.
43. def primo(count, numero):
44.     for n in range(numero, 0, -1):
45.         if numero % n == 0:
46.             count += 1
47.     if count == 2:
48.         print('\n{}{} É UM NÚMERO PRIMO...{}'.format(cor.verde, numero, cor.fim ))
49.     else:
50.         print('\n{}{} NÃO É UM NÚMERO PRIMO...{}'.format(cor.vermelho, numero, cor.fim))
51.
52.
53. def main():
54.
55.     cls()
56.
57.     print('{}{:^45}{}'.format(cor.inversa, 'CALCULADORA DE NÚMEROS PRIMOS', cor.fim))
58.
59.     print('''
60.     ESTE ALGORITMO DESCOBRE SE UM NÚMERO DIGITADO É PRIMO!!!
61.     CUIDADO! O CÁLCULO DE NÚMEROS PRIMOS DE VÁRIOS DÍGITOS EXIGE BASTANTE MEMÓRIA...
62.     SEJA PACIENTE AO DIGITAR NÚMEROS MAIORES. VÁRIOS CÁLCULOS ESTÃO SENDO REALIZADOS!!!!
63.
64.     * Para sair pressione [CTRL+C] a qualquer momento!!!
65. ''')
66.     x = str(input('Digite um número inteiro para analisar: '))
67.
68.     # ANÁLISE SE O NÚMERO DIGITADO É NUMÉRICO
69.     if x.isnumeric() == False:
70.         print('\n{}ENTRADA INVÁLIDA... VOCÊ NÃO DIGITOU UM VALOR NUMÉRICO!!!!{}'.format(cor.vermelho, cor.fim))
71.         sleep(3)
72.         main()
73.     else:
74.         numero = int(x)
75.
76.     primo(count, numero)
77.     sleep(7)
78.
79. while True:
80.     main()
81.
RAW Paste Data