SoloCodigo
Programación Web y Scripting => Python => Mensaje iniciado por: xcodigo en Viernes 22 de Febrero de 2008, 10:55
-
El codigo "indentado" "desdentado" de python confunde un poco. ¿alguien me puede explicar un poco mejor su uso y error? ;)
-
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 (http://mundogeek.net/traducciones/guia-estilo-python.htm) escrito por el mismo Guido y Barry Warsaw
-
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
-
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.
-
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
>>>
-
adivina = int(raw_input('Ingresa un numero entero :'))
Estabas usando un tipo de comilla diferente, puedes usar comilla simple o doble.
-
:huh: :o :D MI teclado me esta jugando una mala jugada :lol:
¿alguna diferencia usando comilla simple o doble para python?
-
: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.
-
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:
-
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.
-
: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:
-
Según la página la variable se inicializo con 1 y no con 0.
-
:lol: