Buscar este blog

mayo 31, 2010

Segundo juego!-B

Sentencia FOR
Un bucle for es un bucle que repite el bloque de instrucciones un número prederminado de veces y bloque de instrucciones que se repite se suele llamar cuerpo del bucle y cada repetición se suele llamar iteración.

for variable in lista o cadena o rango:
cuerpo del bucle

Que es una lista?
Es un arreglo donde se puede almacenar informacion, se se puede anadir las valores haciendo una simple suma tambien se los puede modificar.
lista=['e','i','o']
lista_matriz=[['e','i','o'],['a','u','x']]
print lista
lista=['a']+lista
print lista
lista=lista+['u']
print lista
print lista[0]
print lista_matriz[0][1]
print lista_matriz[1][2]

Y nos va a dar como resultado:
['e','i','o']
['a','e','i','o']
['a','e','i','o','u']
['a']
i
x
El único inconveniente en lista_matriz es que solo es un arreglo en dos dimensiones, no es una matriz en los siguientes juegos se va explicar como realizar operaciones matriciales.
Que es un rango?
Es una sentencia que nos genera una lista de una dimensión como la de los ejemplos de arriba (lista) y su forma es range(argumento) el argumento es un numero por ejemlo:
print range(3)
y nos da como resultado:
[0,1,2]
Que es una cadena?
Es un string normal como por ejemplo mensaje="Hola"

Ejemplo for:
for i in "hola":
print i
for i in ['a',"hola",'c',"qwerty"]:
print i
for i in range(3):
print i
y nos da un resultado igual para todos los casos:
0
1
2
3
Sentencia While
Es otro tipo de bucle que se repite siempre que se cumpla la condición que este tiene.
i = 1
while i <= 11:
print i," ",
i = i + 1
Nos da como resultado:
1 2 3 4 5 6 7 8 9 10 11

Ya esto seria lo ultimo de esta pequeña introducción a Python el siguiente juego comenzamos con el entorno gráfico. Si desean mas informacion pueden visitar las siguientes paginas:
http://docs.python.org/tutorial/
http://es.diveintopython.org/index.html

mayo 29, 2010

Segundo juego!

Primer código


def mensaje(a):
 if a==1:
  print "chao mundo"
 elif a==2:
  print "odnum oahc"
def main():
 mensaje(1)
 mensaje(2)
 return 0

if __name__ == '__main__':
 main()
Primero se tiene que guardar este codigo en un archivo de texto y guardarlo con cualquier nombre, pero con la extension py, por ejemplo "mensaje.py" entonces procedemos a ejecutarlo, entonces ponemos en el terminal el siguiente codigo para correrlo. Dandomos el siguiente resultado:
$python mensaje.py
chao mundo
odnum oahc
Como se pudo apreciar en el codigo de arriba se tiene dos funciones def mensaje(a) y def main(), siempre que se encuentre def nos indica que es una función y los argumento solo se ingresan las variables sin importar el tipo de variable(gran ventaja con respecto a otros lenguajes), todo es un objeto para Python, despues de escribir esto en el codigo al comenzar la siguiente linea debemos precionar la tecla TAB (es una recomendacion ya que con espacio es mas que suficiente pero se les va a facilitar bastante), ya que python se puede decir que el codigo maneja jerarquia al hacer esto le estamos diciendo que lo que se esta escribiendo a continuacion le pertenece a la funcion de arriba, y lo mismo se aplica para los if, for,while, etc. para todo lo que te encuentres en python debes recordar esta unica regla que tiene en la escritura.
Mientras que el if __name__ == '__main__': esta parte es una de las mas complicadas de entender de python ya que como todo es un objeto, estos módulos tienen el parámetro __name__ entonces este nos puede servir para probar el programa dentro de si mismo si se importa el mismo como se muestra a continuacion.
import "El nombre del archivo sin .py y sin comillas"
"El monbre del archivo sin .py y sin comillas".__name__
y este nos debera devolver el nombre del modulo, pero no me a salido.
Sentencia IF
Como se puede ver en el código la sentencia IF no lleva paréntesis y lo mas importante es que lleva dos puntos ":" al final de la operación, no se tiene un endif o algo parecido como otros lenguajes, y si se necesitara anidar los if se utiliza elif o else dependiendo el caso.
else para cuando no se cumpla la condicion y elif para cuando no se cumpla y se tenga que verificar otra conticion
if alfa2==0:
print "es cero"
elif alfa2>0:
print "mayor a cero"

entonces si alfa2 fuera 0 se va a imprimir "es cero" mientas que si fuera mayor a cero se imprimiria ese mensaje.
Operadores:


igual ==
mayor >
mayor igual >=
menor <
menor igual <=
diferente !=
y logico and,&
o logico or,|
IDE para Python
Se pueden encontrar algunos, pero para comenzar es bueno el geany es super simple y sensillo para utilizar sin contar que nos ayuda ya que posee templates de archivos de python para comenzar a escribirlo y nos permite ejecutarlo desde el mismo para probarlo.

Y para probar el codigo ingresado presionamos F5 para ejecutarlo

Primer juego!

Hasta donde vamos a llegar por el momento, a realizar una interfaz grafica, para controlar un robot SCARA(ya que eso estoy haciendo en la universidad), utilizando las herramientas GLADE y Python, entonces un poquito de historia de estas.

Glade "es una herramienta de desarrollo visual de interfaces gráficas mediante GTK/GNOME. Es independiente del lenguaje de programación y predeterminadamente no genera código fuente sino un archivo XML"1

Python "Python permite dividir el programa en módulos reutilizables desde otros programas Python. Viene con una gran colección de módulos estándar que se pueden utilizar como base de los programas (o como ejemplos para empezar a aprender Python). También hay módulos incluidos que proporcionan E/S de ficheros, llamadas al sistema, sockets y hasta interfaces a GUI (interfaz gráfica con el usuario) como Tk, GTK, Qt entre otros."2

Espero que esto sea toda la lata que tenga que poner en estas pequeñas ayudas

Porque Glade?

Bueno porque es una herramienta que nos va a servir bastante al momento de hacer el programa ya que nos da la libertad de olvidarnos de la interfaz gráfica mientras hacemos el programa ya que esta va a ser completamente independiente de este, ya que solo tenemos que cargarla al programa y leer las señales que esta nos de.

Si señales, al realizar la interfaz se manejan señales, esto se a explicar mas adelante en el juego(a por cierto asi voy a llamar a cada entrada de esta pequeña ayuda)

Porque Python?

Bueno este puede ser lo mas difícil de explicar ya lo escogí por puro capricho mio, ya que no me gusto para nada al principio por la manera que se debe escribir y ordenar el código de este, ya que no soy muy ordenado, al programar. Y no me iba a ganar un lenguaje.

Espero poder darles una idea confusa de lo que se va a hacer (ja ja)

En el siguiente juego se va a comenzar a explicar poco a poco el manejo de Python desde un simple y típico "chao mundo!!" hasta el control del robot SCARA; claro no todo en el mismo juego.

1 http://es.wikipedia.org/wiki/Glade

2 http://es.wikipedia.org/wiki/Python