ayuda con mi programa! sale error en los elif

Iniciado por ReAdriel, 5 Agosto 2017, 23:05 PM

0 Miembros y 1 Visitante están viendo este tema.

ReAdriel

Código (python) [Seleccionar]
suma = "suma"
resta = "resta"
multiplicacion = "multiplicacion"
division ="division"

respuesta=input("si quiere sumar inserte suma,para dividir inserte division,para restar inserte resta,para multiplicar inserte multiplicacion: ")
#resta
if resta == respuesta:
c = int(input())
d = int(input())
print (c-d)

elif suma == respuesta:
a = int(input())
b = int(input())
print (a+b)

elif division == respuesta:
e = int(input())
f = int(input())
print (e/f)

elif multiplicacion == respuesta:
g = int(input())
h = int(input())

print (g*h)




· Los códigos deben ir en etiquetas GeSHi
· Los asuntos deben ser puestos en el respectivo subforo
· Si no aclaras el lenguaje no ayudas!
· No haga doble post (el tema duplicado fue borrado)
>aquí las reglas del foro
-Engel Lex

engel lex

lenguaje? tal vez python...
versión puede ser que 2...

tu problema está en la identación...
Código (python) [Seleccionar]
if resta == respuesta: # entramos al if
c = int(input()) #dentro del if
d = int(input()) #nos salimos del if
print (c-d) #fuera del if

elif suma == respuesta: #a el no corresponde ningún if... entonces da error

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

ReAdriel

hola podrias pasarme todo es ya listo
llevo 3 dias buscando el error
ahh por si quieres saber tengo 14años
y me gusta la programacion

ReAdriel

porfavor alguien que me explique q es lo que debo poner y donde
se lo agradeceria

ivancea96

Lo que te ha comentado engel lex. Las líneas que quieras que estén dentro de un if, tienen que estar con mayor indentacion que el if. Todas ellas:

Código (python) [Seleccionar]
if resta == respuesta:
    c = int(input())
    d = int(input())
    print (c-d)

ReAdriel

#5
me sale este error
Código (python) [Seleccionar]


file "pro.py",line 11
d = int(input())
                     ^
intentationerror: unindent does not match any outer intentetion level



ivancea96

#6
Pon el código tal y como lo tienes ahora.

En cualquier caso: En Python, los bloques de código, como los que están dentro de un if, o un while, se delimitan por la indentacion. Todo lo que esté con la misma cantidad de espacios o tabuladores por detrás, pertenecerá al mismo bloque, hasta la línea en la cual no pongas esos espacios, lugar en el que se acabará el bloque.

Al programar python has de tener cuidado con este tema.

Eleкtro

#7
Creo que sigues sin tener demasiado claro cual es el problema. Lee aquí:


Cita de: San GoogleIndentación es un anglicismo de uso común en informática, que significa mover un bloque de texto hacia la derecha insertando espacios o tabuladores, para así separarlo del margen izquierdo y mejor distinguirlo del texto adyacente

Python es un lenguaje MUY estricto (antiproductivo en mi opinión) con la indentación. Tu instrucción no está indentada, por lo que no se reconocerá como una instrucción dentro del bloque del elif... y producirá un error de sintaxis.

Si quieres evitar ese tipo de problemas te sugiero utilizar cualquier IDE profesional para Python que tenga indentación automática.

Saludos.