[SOLUCIONADO] Indetation error: unexpected indent

Iniciado por Knaya, Diciembre 20, 2013, 11:37:47 AM

Tema anterior - Siguiente tema

0 Miembros y 3 Visitantes están viendo este tema.

Diciembre 20, 2013, 11:37:47 AM Ultima modificación: Agosto 20, 2014, 08:49:40 PM por Expermicid
Estoy comenzando un curso rápido de python y dieron un ejercicio para hacer con 2 errores. Una forma de que funcione ya encontré, pero la otra no me funciona y hasta la colocan como posible solución, ahora me quedó la espina de porque no funciona de este modo y me interesa más que aprender python  >:(  paso a explicar....

Código: python
# -*- coding: utf-8 -*- 

class Modelo:

    def __init__(self):
        self.divisor = 23
        vac = raw_input("Elige un numero entero entre 0 y 100: ");          XXXXXXXXXXXXXX estas 2 lineas son las que generan el problema
valor = int(vac);                                                                               XXXXXXXXXXXXXX porque si coloco valor = int( raw_inputxxx ) FUNCIONA...
        resultado = self.devolver_resultado(valor)
        print "%d/%d es %d" % (valor, self.divisor, resultado)

    def devolver_resultado(self, numero):
        """Divide el núemro por el divisor y devuelve un entero"""
        resultado = numero//self.divisor
        return resultado

obj = Modelo()


Al correrlo da error de INDENTATION ERROR: UNEXPECTED INDENT
Alguien tiene idea de porque se genera esto?

Diciembre 20, 2013, 12:13:28 PM #1 Ultima modificación: Diciembre 20, 2013, 12:18:39 PM por overxfl0w13
Código: python
# -*- coding: utf-8 -*-

class Modelo:

    def __init__(self):
        self.divisor = 23
        vac = raw_input("Elige un numero entero entre 0 y 100: ")
        valor = int(vac)
        resultado = self.devolver_resultado(valor)
        print "%d/%d es %d" % (valor, self.divisor, resultado)

    def devolver_resultado(self, numero):
        """Divide el núemro por el divisor y devuelve un entero"""
        resultado = numero//self.divisor
        return resultado

obj = Modelo()


A veces dependiendo del IDE que uses te bailan caracteres ocultos tipo espacios y tabuladores. Normalmente si borras los espacios de la linea hasta que se junte con la linea superior y das un salto de linea para situarla otra vez en el sitio estos problemas se solucionan en IDES con autoindentación.

Te recomiendo un IDE que a mi particularmente me gusta mucho -> Sublime text

Con él vas a ver que te podes olvidar de los problemas de indentación. Trae la posibilidad de transformar todo a espacios o  tabulaciones, según prefieras, ademas de presentar la autoindentación que mencionaba overxfl0w13.

Saludos.
WhiZ


Increible pero cierto!!
Son los espacios o tabulaciones el problema, yo estaba usando el notepad++ y ni cuenta me di.
Voy a probar el sublime....
Gracias por las respuestas!