• Domingo 22 de Diciembre de 2024, 09:08

Autor Tema:  Codigo Indentado  (Leído 4682 veces)

xcodigo

  • Nuevo Miembro
  • *
  • Mensajes: 12
    • Ver Perfil
Codigo Indentado
« en: Viernes 22 de Febrero de 2008, 10:55 »
0
El codigo "indentado" "desdentado" de python confunde un poco. ¿alguien me puede explicar un poco mejor su uso y error?  ;)

RadicalEd

  • Moderador
  • ******
  • Mensajes: 2430
  • Nacionalidad: co
    • Ver Perfil
Re: Codigo Indentado
« Respuesta #1 en: Viernes 22 de Febrero de 2008, 13:51 »
0
La identación de código te sirve para saber donde finalizan las rutinas que programas, ya que Python no utiliza formatos para inicio y final de de estas, te sirve como las "{}" en C ó el "BEGIN - END" de Pascal, solamente que Python te obliga a que identes tú código para saber donde empieza y finaliza la instrucción.

Leete la Guía de estilo del código Python escrito por el mismo Guido y Barry Warsaw
El pasado son solo recuerdos, el futuro son solo sueños

xcodigo

  • Nuevo Miembro
  • *
  • Mensajes: 12
    • Ver Perfil
Re: Codigo Indentado
« Respuesta #2 en: Viernes 22 de Febrero de 2008, 18:35 »
0
Siguiendo este sencillo guia:

numero = 23
adivina = int(raw_entrada('Ingresa un numero entero : '))

if adivina == numero:
   print 'Felicitaciones, haz adivinado.' # el nuevo bloque comienza aqui
   print "(pero no ganaste ningun premio!)" # el nuevo bloque termina aqui
elif guess < number:
        print 'No, el numero es mayor.' # otro bloque
        # Puedes hacer lo que deseas en un bloque ...
else:
   imprime 'No, el numero es menor.'
   # debes adivinar...
print 'Hecho'
# Esta ultima sentencia siempre se ejecuta, después de que la sentencia if
# es ejecutada.
       
El editor PythonWin envia un error de este modo:

>>> numero = 23
>>> adivina = int(raw_entrada(´Ingresa un numero entero:´))
Traceback (  File "<interactive input>", line 1
    adivina = int (raw_entrada(´Ingresa un numero entero:´))
                               ^
SyntaxError: invalid syntax

>>>

Perdona por mi ignorancia de principiante. Podria dar mas detalles sobre el tema

RadicalEd

  • Moderador
  • ******
  • Mensajes: 2430
  • Nacionalidad: co
    • Ver Perfil
Re: Codigo Indentado
« Respuesta #3 en: Viernes 22 de Febrero de 2008, 19:35 »
0
No es "raw_entrada", es "raw_input".

Después del if, elif y else se comienza la identación, ósea, colocar por lo menos un espacio después el próximo código.
El pasado son solo recuerdos, el futuro son solo sueños

xcodigo

  • Nuevo Miembro
  • *
  • Mensajes: 12
    • Ver Perfil
Re: Codigo Indentado
« Respuesta #4 en: Viernes 22 de Febrero de 2008, 20:58 »
0
Bueno, eso mismo de raw_input que es el codigo correcto. Pero esta pagina enseña al reves  ;) dev.laptop.org/~edsiper/byteofpython_spanish/ch06s02.html


Aun asi me dice lo mismo el editor:

>>> numero = 23
>>> adivina = int(raw_input(´Ingresa un numero entero :´))
Traceback (  File "<interactive input>", line 1
    adivina = int(raw_input(´Ingresa un numero entero :´))
                            ^
SyntaxError: invalid syntax
>>>

RadicalEd

  • Moderador
  • ******
  • Mensajes: 2430
  • Nacionalidad: co
    • Ver Perfil
Re: Codigo Indentado
« Respuesta #5 en: Viernes 22 de Febrero de 2008, 21:18 »
0
adivina = int(raw_input('Ingresa un numero entero :'))

Estabas usando un tipo de comilla diferente, puedes usar comilla simple o doble.
El pasado son solo recuerdos, el futuro son solo sueños

xcodigo

  • Nuevo Miembro
  • *
  • Mensajes: 12
    • Ver Perfil
Re: Codigo Indentado
« Respuesta #6 en: Viernes 22 de Febrero de 2008, 22:08 »
0
:huh:   :o   :D  MI teclado me esta jugando una mala jugada  :lol:

¿alguna diferencia usando comilla simple o doble para python?

RadicalEd

  • Moderador
  • ******
  • Mensajes: 2430
  • Nacionalidad: co
    • Ver Perfil
Re: Codigo Indentado
« Respuesta #7 en: Viernes 22 de Febrero de 2008, 22:10 »
0
Cita de: "xcodigo"
:huh:   :o   :D  MI teclado me esta jugando una mala jugada  :lol:

¿alguna diferencia usando comilla simple o doble para python?
No que yo sepa.
El pasado son solo recuerdos, el futuro son solo sueños

xcodigo

  • Nuevo Miembro
  • *
  • Mensajes: 12
    • Ver Perfil
Re: Codigo Indentado
« Respuesta #8 en: Viernes 22 de Febrero de 2008, 22:49 »
0
Mmmmm...Si me explicara un poco de sintaxis...
Los tutoriales que tiene en los sitios al editarlo aparece con error. Ejemplo de este encontrado:

>>> while a < 10 :
...     print a
...     a = a + 3
...
1
4
7

A mi me da con el editor pythonWin:

>>> while a < 10 :
...    print a
...    a = a + 3
...    
Traceback (most recent call last):
  File "<interactive input>", line 1, in <module>
NameError: name 'a' is not defined

>>>

O el editor esta malo o no logro aclarlo bien?  :whistling:

RadicalEd

  • Moderador
  • ******
  • Mensajes: 2430
  • Nacionalidad: co
    • Ver Perfil
Re: Codigo Indentado
« Respuesta #9 en: Viernes 22 de Febrero de 2008, 23:01 »
0
Declara antes del while la variable a, así:

a = 0
while a < 10 :
  print a
  a = a + 3

Haz lo que te explican en las listas de aditel, identa con 4 espacios y no con tabulador, aunque muchos IDE lo hacen automático.
El pasado son solo recuerdos, el futuro son solo sueños

xcodigo

  • Nuevo Miembro
  • *
  • Mensajes: 12
    • Ver Perfil
Re: Codigo Indentado
« Respuesta #10 en: Viernes 22 de Febrero de 2008, 23:32 »
0
:huh:  Esta forma si funciona... Tambien me salio diferente al resultado de tutorial :

>>> a = 0
>>> while a < 10:
...    print a
...    a = a + 3
...    
0
3
6
9

>>>

Codigo obtenido en " un poco de sintaxis" users.servicios.retecal.es/tjavier/python/intpython/x196.html  :comp:

RadicalEd

  • Moderador
  • ******
  • Mensajes: 2430
  • Nacionalidad: co
    • Ver Perfil
Re: Codigo Indentado
« Respuesta #11 en: Sábado 23 de Febrero de 2008, 15:19 »
0
Según la página la variable se inicializo con 1 y no con 0.
El pasado son solo recuerdos, el futuro son solo sueños

xcodigo

  • Nuevo Miembro
  • *
  • Mensajes: 12
    • Ver Perfil
Re: Codigo Indentado
« Respuesta #12 en: Sábado 23 de Febrero de 2008, 16:28 »
0
:lol: