Hola buenas! Estoy aprendiendo a programar en python y como primer programa he decidido hacer una calculadora sencilla, pero no se por que me da un error en la parte de la funcion if y no se por que, os agradecería vuestra ayuda.
print("""Menú:
a) Suma
b) Resta
c) Multiplicación
d) División""")
#Variables abajo
opc = str(input("Excoge tu opcion: "))
x = int(input("Pon tu numero: "))
y = int(input("Pon tu otro numero: "))
if opc == "a":
print("Este es tu resultado: ")
print(x+a)
input()
elif opc == "b":
print("Este es tu resultado: ")
print(x-y)
input()
elif opc == "c":
print("Este es tu resultado: ")
print(x*y)
input()
elif opc == "d":
print("Este es tu resultado: ")
print(x//y)
input()
Hola!
El único error que encontré fue en la operación de suma, ya que sumaste el valor de X (O sea el primer número) con el valor A (O sea el valor que determina la sección a ir)
Te debería quedar algo así:
print("Menú: ")
print("a) Suma")
print("b) Resta")
print("c) Multiplicación")
print("d) División")
#Variables abajo
opc = str(input("Excoge tu opcion: "))
x = int(input("Pon tu numero: "))
y = int(input("Pon tu otro numero: "))
if opc == "a":
print("Este es tu resultado: ")
print(x+y) # OPERACIÓN REEMPLAZADA :V
input()
elif opc == "b":
print("Este es tu resultado: ")
print(x-y)
input()
elif opc == "c":
print("Este es tu resultado: ")
print(x*y)
input()
elif opc == "d":
print("Este es tu resultado: ")
print(x//y)
input()
Tambien te recomiendo especificar más tu problema, ya que son resultados muy amplios. Como así también, mejoraría un par de cosas en cuanto a la estructura del código.
Suerte!
PD: Todo tema con Python debería de ir en la sección "Scripting"
Aqui os dejo mi calculadora por si os gusta, lo unico, es para Mac OS X pero si la modificas la puedes usar a tu antojo <3
# Calculadora
def Calculadora():
"""Funcion Para Calcular Operaciones Aritmeticas"""
Menu()
opc = int(input("Selecciona una opcion: "))
if opc == 6:
os.system('clear')
while (opc > 0 and opc < 6):
x = int(input("Ingrese un numero: "))
y = int(input("Ingrese otro numero: "))
x2 = str(x)
y2 = str(y)
if (opc == 1):
z = x+y
txt = str(z)
print('La Suma de ',x,' mas ',y,' es igual a:', x+y)
os.system('say La suma de ' + x2 + ' mas ' + y2 + 'es igual a ' + txt)
opc = int(input("Seleccione una opcion: "))
elif(opc == 2):
z = x-y
txt = str(z)
print('La resta de ',x,' menos ',y,' es igual a:', x-y)
os.system('say La respuesta de ' + x2 + ' menos ' + y2 + ' es igual a ' + txt)
opc = int(input("Seleccione una opcion: "))
elif(opc == 3):
z = x*y
txt = str(z)
print('La Multiplicacion de ',x,' por ',y,' es igual a:', x*y)
os.system('say La multiplicación de ' + x2 + ' por ' + y2 + ' es igual a ' + txt)
opc = int(input("Seleccione una opcion: "))
elif(opc == 4):
try:
z = x//y
txt = str(z)
print('La Division de ',x,'entre',y,' es igual a: ', x//y)
os.system('say La división de ' + x2 + ' entre ' + y2 + ' es igual a: ' + txt)
opc = int(input("Seleccione una opcion: "))
except ZeroDivisionError:
print("No se permite la division entre 0")
opc = int(input("Seleccione una opcion: "))
elif(opc == 5):
z = x**y
txt = str(z)
print('El resultado de ',x,' elevado a ',y,' es igual a: ', x**y)
os.system('say El resultado de ' + x2 + ' elevado a ' + y2 + ' es igual a ' + txt)
opc = int(input("Seleccione una opcion: "))
# Menú para la calculadora
def Menu():
"""Funcion que Muestra el Menu"""
print("""************
Calculadora
************
Menu
1) Suma
2) Resta
3) Multiplicacion
4) Division
5) Elevar
6) Salir""")