Curso de Python capitulo V
|Poco a poco, vamos avanzando en el curso, y hemos llegado a una de las estructuras mas importantes, se trata de la estructura repetitiva o de ciclos llamada while. Esta estructura lo que hace es repetir las instrucciones que esten dentro de ella hasta que la condicion se cumpla. Que mejor que un ejemplo para entender mejor el concepto:
#!/usr/bin/env python
print «Numeros del 1 al 10:»
numero=1
while numero<=10:
print numero
print «-»
numero=numero+1
print «Fin»
¿Que hace este programa? Sencillo, este programa imprime los numeros del 1 al 10, hay que recalcar varias cosas:
- Tengan muy presente siempre la identacion, pues eso es lo que determina lo que va adentreo del while y lo que no, como lo pueden ver claramente en el ejemplo.
- La condicion en este caso, es que la variable numero sea menor que 10, esto se leeria «mientras que numero sea menor que 10 haga estas instruccion».
- Algo que es muy importante es que dentro de la estructura debe haber alguna instruccion que cambie el valor de la variable, por que si no se cambia el valor de la variable dentro del ciclo esto llevaria a lo que un profesor de mi antigua universidad llamaria «Abrazo mortal». Es decir, que la condicion nunca se cumpliria y se quedaria repitiendo las instrucciones infintas veces.
Este programa nos arrojara algo como esto:
Con esto aprendido ya podemos realizar muchas practicas, les propongo un ejercicio, para que lo hagan y practiquen, hagan un programa que imprima los 100 primeros numeros pares, con eso practican todo lo que llevamos.
Aqui Presento mi código :p jeje
num=0
divi=2
resu=0
while resu==0:
if num<=100:
print num
print «-»
num=num+2
resu=num%divi
print «fin»
Hola
antes que nada gracias por seguir el curso, te felicito tu codigo funciona, sin embargo, creo que se le pueden hacer modificaciones, para que el programa sea mas eficiente y asi optimizar recursos, parte fundamental en la programacion: Yo lo dejaria asi:
#!/usr/bin/env python
num=0
while num<=100: print num print "-" num=num+2 print "fin"Recuerden la identacionsaludos....
Hola. Tengo una duda, estoy usando Linux Mint 6, que incluye python 2.5, y me sale una falla en el codigo, dice esto
» File «hola.py», line 3
SyntaxError: Non-ASCII character ‘\xe2’ in file hola.py on line 3, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details»
cuando lo arreglo, me dice esto
«File «hola.py», line 5
print numero
^
IndentationError: expected an indented block»
Estuve tratando de arreglar eso, pero no encontre la forma 🙁
Saludos, y desde ya, muchas gracias
Hola daniel.
gracias por seguir el curso y aqui te planteo la solucion, el primer error se presenta porque probablemente tu copiaste y pegaste el codigo, entonces las «» no son las mismas, entonces debes borrar las «» y volverlas a escribir desde el editor de texto.
El segundo problema es por que despues del while las instrucciones que van dentro del while necesitan estar identadas… el problema es que el manejo de WP no permite ver la identacion claramente…
Entonces la solucion para tu problema es identar las instrucciones que van dentro del while, en este caso son:
print num
print “-”
num=num+2
Identar significa: es crear espacios o tabulaciones dentro de un programa.
No se si entendiste, sino postea de nuevo que con mucho gusto te explicare mas a fondo
saludos
Hola Epsilon, muchisimas gracias por la ayuda, era una, perdon por la palabra, una estupides mi error. Con ese tipo de falla, te daras cuenta que nunca programe nada (en realidad, programe un QueryUnload en VB, pero nada mas).
De nuevo, gracias, y muy bueno el curso y la pagina.
Saludos, y segui asi
Tranquilo para eso estamos… para aprender todos
saludos
jeje epilson, pensé que era como yo estaba acostumbrado jeje a la forma más dificil ps siempre me mandan es a hacerlo asi ,y no usar la suma jeje , gracias por la corrección 😉
Aqui esta el mio. Los textos estan en catalan, però si a alguien les sirve (nombre en catalan significa numero, por si a alguien le lia…) Y lo he hecho solo hasta 20 para acortar. Saludos!
#!/usr/bin/env python
#Programa que ensenya els nombres parells entre el 2 i el 18, i en arribar a 20 una altra frase.
#Important que a part de la variable que es defineix en el bucle, es pot posar una variacio dins d’una frase, com es veu a l’exemple del nombre-2. Aixo no afecta a que dins del bucle es seguisca sumant +2 (esta a la frase, no al principi del bucle).
print» »
print» »
print»Programa que mostra els 20 primers nombres parells.»
print» »
nombre=2
print» »
print»Comencem a partir del»,nombre,»perque el 0 no el contem com a parell, clar…»
print» »
print»Aixi doncs, el nombre parell mes menut entre 0 i 20 es»,nombre,»Vaja descobriment de merda…»
while nombre<=18:
print» »
nombre=nombre+2
print»El»,nombre,»es el seguent nombre parell, despres del»,nombre-2
print» »
print»El nombre parell mes alt de la serie es el»,nombre,».»
print» »
print»Menuda xorrada de programa…»
print» »
print» »
print»Darent, 16 de juny de 2009.»
print» «