Autor Tema: Clase De Python 1 [Parte 3] Por Rock Lee  (Leído 1633 veces)

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

Desconectado Rock Lee

  • Administrador
  • *
  • Mensajes: 1121
    Ingreso: Enero de 2014
  • Sexo: Masculino
  • ar
  • Digitalizando tu Mundo
    • Ver Perfil
    • La nueva era del conocimiento
Clase De Python 1 [Parte 3] Por Rock Lee
« on: 01 Julio de 2014, 10:19 pm »
Buenas chicos/as aca ando de nuevo con la tercera parte de la primera clase y ultima de repaso lo basico para ir avanzando a temas un poco mas trabajadas ;)...

  Estructuras de Control

Decisiones ….
Sentencias condicionales:  Permiten comprobar condiciones y que el programa se comporte de una manera u otra, de acuerdo a esa condición. Con esto vamos a:

if
If .. else
If .. elif.. elif.. else

Sentencia if: Es la sentencia condicional más simple que permite tomar decisiones sencillas.

if x > 0  ==> [La condición x es mayor a cero]
_print "x es positivo"  ==> [La indentación (representado aca por "_") indica que esas sentencias deben ejecutarse si la condición si cumple]

Ejemplo:
Código: (Python) [Seleccionar]
>>> numero=1
>>> if numero==1:
        print "Estamos mostrando una sentencia if con varias lineas"
        print "En este caso, estas lineas se imprimen si la variable numero 1"
        print "Luego de imprimir estas lineas, pasamos a la siguiente instruccion"

Estamos mostrando una sentencia if con varias lineas
En este caso, estas lineas se imprimen si la variable numero 1
Luego de imprimir estas lineas, pasamos a la siguiente instruccion
>>>

IMPORTANTE: Hay que tener especial atención a la indentación que se le da a las lineas

Sentencia if-else: Esto nos permite establecer varias opciones, es decir, las acciones necesarias cuando la condición NO se cumple.

Operador % (Modulo)
Código: (Python) [Seleccionar]
if x%2==0:
    print x, "Es un número par"
else:
    print x, "Es un número impar"


Sentencia if-elif
: Ahora llega la gran pregunta ¿Qué pasa cuando hay más de dos condiciones?

Ejemplo: Aquí aparecen varias condiciones excluyentes.

Código: (Python) [Seleccionar]
if edad >=0 and edad <2:
    print "Es un bebe"
elif edad >=2 and edad <13:
    print "Es un chico/a"  ==> [Esto seria niño pero recordar Python no acepta ñ :)]
elif edad >=13 and edad <20:
    print "Es un adolescente"
else:
    print "Es un adulto"

Iteraciones

Bucles: Permiten ejecutar cierto código un número reiterado de veces hasta que se cumpla
una condición. Python tiene dos sentencias iterativas:

while
for .. in

Iteramos con for

Forma general:

for variable in lista de Valores:
sentencias

La variable toma todos los elementos que aparecen en la lista de valores y luego termina la iteración

Función range(): Devuelve una lista de números enteros.
> Formas de usarla:

1 argumento:
range(5), devuelve [0,1,2,3,4] - Desde 0 hasta el argumento – 1
2 argumentos:
range(2,5), devuelve [2,3,4] - Desde el argumento 1 hasta el argumento 2 – 1
3 argumentos:
 range(2,5,2), devuelve [2,4]  Desde el argumento 1 hasta el argumento 2 – 1, pero con un incremento de 2

Sentencia while
Forma general:

while condición:
sentencias

La condición se evalúa cada vez y mientras sea verdadera la iteración continúa.
Importante: La condición DEBE hacerse falsa en algún momento. ¿Qué pasa si esto no sucede? ... R: Esto nos genera el famoso bucle o loop interminable al no encontrar la condición que hace salga del while


  While vs for

Ahora vamos ver algo que siempre nos ponemos a pensar ¿Cual es mejor? ¿Que usaremos? ¿Como o cuando usarla? pondremos en comparacion algunos puntos a continuacion:

• Ambas son sentencias iterativas
• En ambas sentencias, las acciones ejecutadas en el bucle  deben estar indentadas
• Diferencia:
>= La sentencia while evalúa una condición que debemos asegurarnos se haga falsa en algún momento
>= La sentencia for, itera un número fijo de veces: hasta que la variable tome todos los posibles valores de la lista.


Bueno hasta aca vamos terminando lo que nos toca hablar de Python... ahora pondre un extra/suplemento mas sobre PyGame que me parecio curioso e interesante, espero de igual manera sea de su agrado ;D

  PyGame

¿Qué es PyGame?


PyGame es un conjunto de módulos escritos en Python diseñados para escribir juegos en dos dimensiones. Que incluye gráficos y bibliotecas de sonido diseñadas para ser utilizadas directamente bajo Python. No es nuevo: desde el año 2000 esta... Aunque es portable y libre. Página Oficial PyGame

Modulos PyGame

Vamos a ver primero algunos módulos para realizar gráficos sencillos.– Cómo crear una ventana y dibujar luego en ella.
PyGame provee varios módulos para representar líneas, polígonos, círculos, etc. Para utilizarlos, debemos importar la librería PyGame y otras más que serán necesarias:

Código: (Python) [Seleccionar]
import pygame
import os
Import sys
from pygame.locals import *

Luego de importar las librerías, hay que inicializar el módulo:
 
pygame.init()

¿Abrimos una ventana?

ventana = pygame.display.set_mode((ancho,alto))
pygame.display.set_caption(‘TítuloVentana')

Pasado a limpio, en una ventana de una resolucion 800 x 600 quedaria de la siguiente manera:

Código: (Python) [Seleccionar]
import os
Import sys
from pygame.locals import *

pygame.init()

ancho=800
alto=600
ventana = pygame.display.set_mode((ancho,alto))
pygame.display.set_caption(‘Mi Juego en PyGame')

El módulo Draw


Permite trabajar con las siguientes formas:

rect   polygon   circle   ellipse   arc   line   lines   aaline   aalines

Los dibujos se realizan sobre una superficie  y todas las funcione dibujo se limitan al área de recorte para esa superficie. Generalmente las funciones contienen un argumento width que representa el tamaño del borde del dibujo. Si tiene valor 0, la func pintará la figura entera como sólida.
La mayoría de las funciones aceptan un argumento color, que en general es una terna o tupla RGB [Del Ingles/Español Red Green Blue - Rojo Verde Azul].

Aparte tenemos otras funciones que vamos a usar mas adelante:

– copy(): Realizamos una copia de la superficie. En este caso, de la ventana
– blit(): Nos permite representar un objeto sobre una superficie.

Imagenes en PyGame
Cargando imágenes ...
• pygame.image.load(filename): return Surface
• pygame.image.save(Surface, filename): return None



Manejo de Eventos

Código: (Python) [Seleccionar]
import pygame, sys, os
from pygame.locals import *

while True:
    events=pygame.event.get()
       
    for event in events:
        if event.type == QUIT:
            pygame.quit()    <== Este bucle sencillo ejecuta el programa hasta que el evento QUIT se produzca.
            sys.exit()

Existe un módulo especial para manejar eventos. se manejan a través de una cola de los mismos. Se manejan como objetos que contienen un tipo de evento y un conjunto de datos de sólo lectura.
Funciones get y poll: Obtienen eventos de la cola y los elimina.
       pygame.event.get(): return EventList
       pygame.event.poll(): return Event

Event.type:
 Eventos relacionados al mouse:
MOUSEMOTION – MOUSEBUTTONUP – MOUSEBUTTONDOWN 
 Eventos relacionados al teclado:
KEYDOWN – KEYUP
 Eventos relacionados al Joystick:
JOYAXISMOTION – JOYBALLMOTION – JOYHATMOTION - JOYBUTTONUP - JOYBUTTONDOWN
 Eventos generales:
QUIT – ACTIVEEVENT - VIDEORESIZE - VIDEOEXPOSE
 Se pueden generar eventos definidos por el usuario.

Para dejarlo en claro


Resumiendo... pygame.event.get() o pygame.event.poll() en un loop .... event.type Dependiendo del  evento:

Evento             atributos

QUIT     none
ACTIVEEVENT     gain, state
KEYDOWN     unicode, key, mod
KEYUP            key, mod
MOUSEMOTION    pos, rel, buttons
MOUSEBUTTONUP    pos, button
MOUSEBUTTONDOWN     pos, button
JOYAXISMOTION   joy, axis, value
JOYBALLMOTION  joy, ball, rel
JOYHATMOTION   joy, hat, value
JOYBUTTONUP    joy, button
JOYBUTTONDOWN  joy, button
VIDEORESIZE    size
VIDEOEXPOSE    none
USEREVENT      code




Finalmente con esto terminare la primera clase, que trate de dar un repaso rapido de Python [y un poco más 8)] espero les haya gustado y como siempre ante cualquier duda comentar :D...

...Un Saludo Para Todos!...

<<< Continuación >>> Clase De Python 2.
« Última Modificación: 06 Junio de 2016, 05:32 pm por Ninokap »

Desconectado wasapacho
  • [L0] Ladrón de espacio en la BD
  • Mensajes: 1
    Ingreso: Julio de 2014
  • ar
  • Bienvenidos/as a Bomber Code
    • Ver Perfil
Re:Clase De Python 1 [Parte 3] Por Rock Lee
« Respuesta #1 on: 02 Julio de 2014, 11:12 pm »
Muy bueno! La verdad, yo no tenía nada de idea de Python y lo entendí perfectamente  ;D

Un sólo detalle: haya ("espero que les haya gustado") va con y. Es una simple crítica constructiva, sin intención de ofender ni mucho menos. Sé que no es un error muy grave, y por lo demás el texto tiene la mejor ortografía que he visto en muchos lugares del gran Internet (lo digo por alguna gente que suele tomar a mal este tipo de comentarios). No por programar en un lenguaje descuidemos la ortografía del que hablamos ;)

Desconectado Rock Lee

  • Administrador
  • *
  • Mensajes: 1121
    Ingreso: Enero de 2014
  • Sexo: Masculino
  • ar
  • Digitalizando tu Mundo
    • Ver Perfil
    • La nueva era del conocimiento
Re:Clase De Python 1 [Parte 3] Por Rock Lee
« Respuesta #2 on: 03 Julio de 2014, 12:03 am »
Muy bueno! La verdad, yo no tenía nada de idea de Python y lo entendí perfectamente  ;D

Un sólo detalle: haya ("espero que les haya gustado") va con y. Es una simple crítica constructiva, sin intención de ofender ni mucho menos. Sé que no es un error muy grave, y por lo demás el texto tiene la mejor ortografía que he visto en muchos lugares del gran Internet (lo digo por alguna gente que suele tomar a mal este tipo de comentarios). No por programar en un lenguaje descuidemos la ortografía del que hablamos ;)

Ups no me di cuenta... era tarde casi madrugada y lo pase por alto, es bueno mantener una buena ortografia ;) para entendernos correctamente. Gracias por comentarlo la próxima vez tratare estar mas atento, además me dio gusto lo entendieras bien :D en unos dias estara la 2da clase entrando un poco mas profundo en el tema Python.

...Un Saludo Para Todos!...