If chamando função em python

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