Bom dia a todos!
Estou com o seguinte código abaixo:
def delta(a,b,c):
delta = (b**2 - 4ac)
print (f’\nValor de DELTA é: {delta}.\n’)
if name == ‘main’:
while True:
print(‘Calculando as raízes de uma equação de 2º grau\n’)
a = float(input('Entre com o valor de A: '))
b = float(input('Entre com o valor de B: '))
c = float(input('Entre com o valor de C: '))
delta(a,b,c)
if (delta > 0):
print('Delta positivo!')
Mas ele apresenta o seguinte erro:
Traceback (most recent call last):
File “eq.py”, line 13, in
if (delta > 0):
TypeError: ‘>’ not supported between instances of ‘function’ and ‘int’
Como corrigir?
No caso se DELTA > 0 irá chamar uma função em que calcule as raízes da equação do 2º grau!
Primeiramente você deveria consertar seu post, seleciona todo o codigo e clique em </>
. Cuidado também com a indentação, algumas vezes quando você cópia e cola aqui, o texto fica alinhado. Se possível dá uns espaços manualmente.
É sua primeira vez aqui né!? Demora um pouco para pegar o jeito!
Voltando para o erro, a sua função não retorna nenhum valor e o termo delta está se referindo a função que você criou e não a variável delta! Tenta assim:
def calcularDelta(a,b,c):
delta = (b**2 - 4 *a* c)
print (f'\nValor de DELTA é: {delta}.\n')
return delta
#Chamando a função que retorna o valor do delta!
delta = calcularDelta(a,b,c)
if delta > 0:
print('delta é maior que zero')
Boa tarde @Jelson1 muito obrigado pela ajuda, depois que enviei fui lembrar do que você falou! Consegui resolver tudo e quem quiser vou disponibilizar meu código aqui:
def calcDelta(a,b,c):
delta = (b**2 - 4*a*c)
return delta
def calcR1(a,b,c):
delta = calcDelta(a,b,c)
x1 = (-b + (delta ** 0.5))/(2*a)
return x1
def calcR2(a,b,c):
delta = calcDelta(a,b,c)
x2 = (-b - (delta ** 0.5))/(2*a)
return x2
if __name__ == '__main__':
print('Calculando as raízes de uma equação de 2º grau\n')
a = float(input('Entre com o valor de A: '))
b = float(input('Entre com o valor de B: '))
c = float(input('Entre com o valor de C: '))
calcDelta(a,b,c)
d = calcDelta(a,b,c)
print (f'\nValor de DELTA é: {d}.\n')
print('='*20,'RESULTADO','='*20)
if (d > 0):
print('Delta positivo! Vamos calcular as raizes?\n')
x1 = calcR1(a,b,c)
x2 = calcR2(a,b,c)
print (f'\nValor de X1 é: {x1}.\n')
print (f'Valor de X2 é: {x2}.\n')
elif (d == 0):
print('Delta nulo! Vamos calcular a raiz?\n')
x = calcR1(a,b,c)
print (f'\nValor de X1 e X2 é: {x}.\n')
else:
print('Delta negativo! Não existem raízes')
print('='*51)
1 curtida