Advertisement
WarriorWolf

Untitled

Sep 3rd, 2019
223
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.16 KB | None | 0 0
  1. from math import log, sqrt, pow
  2. from fractions import Fraction
  3. from decimal import Decimal
  4. from time import sleep
  5.  
  6. print('Bem vindo(a) ao 1º Programão Geral feito por Nícolas Malaquias\n')
  7. while True:
  8.     opcao = int(input('''[1] Equação do Segundo Grau
  9. [2] Logaritmos
  10. [3] Sair
  11. Sua opção: '''))
  12.     if opcao not in (1, 2, 3, 1001):
  13.         print('Opção invalida! Tente novamente.')
  14.  
  15.     if opcao == 1:  # Equação do 2º Grau
  16.         def valores(a, b, c):  # Definindo os valores para fazer os calculos
  17.             """
  18.            :param a: Primeiro valor: a²
  19.            :param b: Segundo valor: b
  20.            :param c: Terceiro valor: Número independente.
  21.            :return:
  22.            """
  23.             delta = pow(b, 2) - 4 * a * c
  24.  
  25.             if delta < 0:
  26.                 print('Não há raizes para Δ < 0')
  27.             else:
  28.                 bhaskara1 = -(b + sqrt(delta)) / (2 * a)
  29.                 bhaskara2 = -(b - sqrt(delta)) / (2 * a)
  30.                 if bhaskara1 < 1:
  31.                     bhaskara1 = Fraction(Decimal(bhaskara1))
  32.                 if bhaskara2 < 1:
  33.                     bhaskara2 = Fraction(Decimal(bhaskara2))
  34.                 print('-=' * 30)
  35.                 print(f'O Δ é {delta}\nx1 = {bhaskara1}\nx2 = {bhaskara2}')
  36.                 print('-=' * 30)
  37.  
  38.         while True:
  39.             try:
  40.                 valores(a=float(input('Defina o valor de A: ')),
  41.                         b=float(input('Defina o valor de B: ')),
  42.                         c=float(input('Defina o valor de C: ')))
  43.             except ValueError:
  44.                 print('Algo deu errado, tente novamente')
  45.             resp = str(input('Deseja continuar? [S/N]: ')).strip().upper()[0]
  46.             while resp not in 'SN':
  47.                 resp = str(input('ERRO. Deseja continuar? [S/N]: ')).strip().upper()[0]
  48.             if resp == 'N':
  49.                 break
  50.         print('-='*30)
  51.  
  52.     sleep(0.5)
  53.     if opcao == 2:  # Logaritmos
  54.         def logaritmo(numero, base):
  55.             """
  56.            :param numero: Informe um número
  57.            :param base: Essa é a base ne, uai
  58.            :return: nada aqui.
  59.            """
  60.             if base == 0:
  61.                 base = 10
  62.             print('-=' * 30)
  63.             print(f'O logaritmo de {numero} é: {log(numero, base):.4f}')
  64.             print('-=' * 30)
  65.  
  66.  
  67.         print('Programa de Logaritmos com bases diferentes!\n')
  68.         while True:
  69.             try:
  70.                 logaritmo(numero=int(input('Qual é o número que desejas saber: ')),
  71.                           base=int(input('Qual é a base (Digite 0 para base 10): ')))
  72.             except ZeroDivisionError:
  73.                 print('A base não pode ser 1, escolha outro número')
  74.             resp = str(input('Deseja continuar? [S/N]: ')).strip().upper()[0]
  75.             while resp not in 'SN':
  76.                 resp = str(input('ERRO. Deseja continuar? [S/N]: ')).strip().upper()[0]
  77.             if resp == 'N':
  78.                 break
  79.         sleep(0.5)
  80.     elif opcao == 3:
  81.         break
  82.     elif opcao == 1001:
  83.         print('POGCHAMP EASTER EGG')
  84.         print('-='*30)
  85.  
  86.  
  87. print('Obrigado por usar o programa, volte sempre!')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement