Ayudenme con este codigo

Denunciar
-
Message postés
396
Date d'inscription
miércoles, 10 de enero de 2018
Estatus
Miembro
Última intervención
martes, 9 de febrero de 2021
-
Buenas a todos!
Espero que la esten pasado bien
Me gustaría que me ayuden con este código (código no completo) con el que estoy teniendo problemas.
Lo que me trae problemas es la variable "ans" en la función calculos2, cuando voy a seguir calculando (cuando presiono "y") e introduzco "el siguiente numero" - como dice el programa - no me hace la cuenta porque dice que la variable ans no esta definida.
CODIGO:
def calculos(num1, op, num2):
if op == '+':
ans = num1 + num2
print(f"{num1} {op} {num2} = {ans}")
elif op == '-':
ans = num1 - num2
print(f"{num1} {op} {num2} = {ans}")
elif op == '*':
ans = num1 * num2
print(f"{num1} {op} {num2} = {ans}")
elif op == '/':
ans = num1 / num2
print(f"{num1} {op} {num2} = {ans}")
else:
print("Lo lamento, ese operador no esta disponible :C")
print("Intentalo de nuevo:")
print("+\n-\n*\n/\n")
op = str(input("Elige una operacion: "))
num2 = int(input("Segundo numero: "))
if op == '+':
ans = num1 + num2
print(f"{num1} {op} {num2} = {ans}")
elif op == '-':
ans = num1 - num2
print(f"{num1} {op} {num2} = {ans}")
elif op == '*':
ans = num1 * num2
print(f"{num1} {op} {num2} = {ans}")
elif op == '/':
ans == num1 / num2
print(f"{num1} {op} {num2} = {ans}")


def calculos2(num1, num2, num3, op2, calculos, ans):
if op2 == '+':
ans = num1 + num2
newans = ans + num3
print(f"{num3} {op2} {ans} = {newans}")
elif op2 == '-':
newans = ans - num3
print(f"{num3} {op2} {ans} = {newans}")
elif op2 == '*':
newans = ans * num3
print(f"{num3} {op2} {ans} = {newans}")
elif op2 == '/':
newans = ans / num3
print(f"{num3} {op2} {ans} = {newans}")
else:
print("Lo lamento, ese operador no esta disponible :C")
print("Intentalo de nuevo:")
print("+\n-\n*\n/\n")
op = str(input("Elige una operacion: "))
num2 = int(input("Segundo numero: "))
if op == '+':
print(f"{num1} {op} {num2} = {ans}")
elif op == '-':
ans = num1 - num2
print(f"{num1} {op} {num2} = {ans}")
elif op == '*':
ans = num1 * num2
print(f"{num1} {op} {num2} = {ans}")
elif op == '/':
ans == num1 / num2
print(f"{num1} {op} {num2} = {ans}")

num1 = float(input("Primer numero: "))

print()

print("+\n-\n*\n/\n")
op = str(input("Elige una operacion: "))
num2 = float(input("Segundo numero: "))

calculos(num1, op, num2)

seguir = 'y'
seguir = str(input("Presione 'y' para seguir calculando, 'n' para hacer otro calculo y 'f' para salir: "))
while True:
print("+\n-\n*\n/\n")
op2 = str(input("Elige una operacion: "))
num3 = float(input("Siguiente numero: ")) #Aquí se me tranca, me sale el error
calculos2(num1, num2, num3, op2, calculos, ans)
seguir = 'y'
seguir = str(input("Presione 'y' para seguir calculando, 'n' para hacer otro calculo y 'f' para salir: "))

El error que me sale: Traceback (most recent call last): File "C:\Users\por aqui toda la ubicacion bla bla bla \Calculator.py", line 102, in <module> calculos2(num1, num2, num3, op2, calculos, ans) NameError: name 'ans' is not defined
Estaría encantado y agradecido si me podrían aportar posibles soluciones o decirme de que mera lo podría solucionar.
Saludos

1 respuesta

Message postés
396
Date d'inscription
miércoles, 10 de enero de 2018
Estatus
Miembro
Última intervención
martes, 9 de febrero de 2021
70
No soy experto en python , pero por el error que maca "NameError: name 'ans' is not defined"
no esta definida la variable "ans", checa bien las variables de calculos2

¡Suscríbete a nuestra Newsletter!

Recibe nuestros mejores artículos

¡Suscríbete a nuestra Newsletter!