Executando verificação de segurança...
7

Equação do 2º Grau em Python

Hoje eu fiquei a tarde toda fazendo um script em python que resolver qualquer equação do 2º grau dizendo seu delta, suas raizes e a soma e a multiplicação delas, fiquei muito orgulhoso do resultado e vim aqui compartilhar o resultado

# escrita na forma: ax^2+bx+c
# formula de deltaΔ: b^2-4ac
# formula de resolução: (-b+-√Δ)/2a
import math
import time
print('-----------')
print('Para descobrir o valor dos coeficientes, use com base isso ax²+bx+c')
print('Lembre-se: a ≠ 0 e a, b, c ∈ ℝ e quando não estiver o valor de c, ele equivale a 0, o mesmo com o valor de b')
print('Quando não se tem um numero antes da incognita X o valor é 1')
varlA = int(input('Digite o valor de a: '))
varlB = int(input('Digite o valor de b: '))
varlC = int(input('Digite o valor de c: '))
soma = round(-(varlB) / ((varlA)), 2)
multi = round(varlC / varlA, 2)
delta = varlB**2-4*varlA*varlC
if delta < 0:
    resultado = ('Essa equação não pertence a os números reais')
if delta > 0:
    resultado1 = round((-(varlB)+math.sqrt(delta)) /((varlA*2)), 2)
    resultado2 = round((-(varlB)-math.sqrt(delta)) /((varlA*2)), 2)
if delta == 0: 
    resultado = (-varlB) / ((varlA*2))
# colocando os sinais
if varlA == 1:
    varlA = ' '
if varlB > 0:
    varlB = '+{}'.format(varlB)
if varlC > 0:
    varlC = '+{}'.format(varlC)
# formatando a equação
if varlC == 0:
    quest = str(input('A raiz é assim {}x²{}x=0? '.format(varlA,varlB)))
if varlB == 0:
    quest = str(input('A raiz é assim {}x²{}=0? '.format(varlA,varlC)))
if varlB != 0 and varlC != 0:
    quest = str(input('A raiz é assim {}x²{}x{}=0? '.format(varlA,varlB,varlC)))
# respondendo pergunta
if quest == 'yes' or quest == 'sim' or quest == 's':
    print('Que ótimo! Estamos calculando aguarde um pouco')
    print('...')
    time.sleep(2)
    print('O delta dessa função é {}'.format(delta))
    if delta == 0: 
        print('A raiz dessa função é {}'.format(resultado))
    if delta > 0:
        print('As raizes dessa função são {}, {}'.format(resultado1, resultado2))
        print('E a soma das raizes é {}, e sua multiplicação é {}'.format(soma, multi))
    if delta < 0:
        print('Não tem raiz para essa função, ou seja x ∉ ℝ')
if quest == 'no' or quest == 'não' or quest == 'n':
    print('Que pena!, iremos melhorar :(')

repositorio com o codigo: https://github.com/matheusfcw
Caso tenha gostado do codigo ou da ideia de fazer coisas matematicas em programação me siga no Github, aonde posto alguns exemplos disso, meu proximo objetivo é fazer a sequencia de Fibonnaci em python, isso e bom tanto para mim que vou guardar muito mais a formula na minha cabeça tanto para quem tem preguiça de fazer, enfim obrigado por ler, boa noite :)

Carregando publicação patrocinada...
4

Show
mas acho que exagerou um pouco nos parenteses

soma = round(-(varlB) / ((varlA)), 2)

poderia ficar assim

soma = round(-varlB / varlA, 2)

O mesmo se repete por todo o código

1
1
4

Seu código ficou bem legal!

Mas recomendo algumas refatorações para melhor compreensão sua e nossa e melhor uso das funcionalidades do python.

Além das correções que os colegas indicaram, indico que você leia este artigo aqui do tabnews falando sobre 19 dicas de python.

2

Que massa cara. Parabéns pelo Projeto!

Acho que ficaria mais legal se você separece por funções alguns paramentros, ficaria mais arrumado o projeto!

Mas gostei muito do seu projeto. Parabéns...

0
1
1