[ Foro de Python ]
Buenas a todos!
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
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)