SlideShare une entreprise Scribd logo
1  sur  20
Télécharger pour lire hors ligne
Introducción a Python,
Pilas y Videojuegos (II)
En el capítulo anterior...
... dejamos a nuestros intrépidos futuros programadores perdiendo la cabeza con tantos
nuevos términos. Y es que lo son, claro. No en vano, así como en España utilizamos el
término ordenador, en Latinoamérica se utiliza más el de computadora, ya que nuestros
dispositivos hacen eso, computar, computar muchos datos distintos.
Y hablando de datos, ¿recuerdas que ha hemos usado? ¿Recuerdas nuestra brillante suma?
Esos 3, 5 y 8 son datos numéricos. Sí, sí, no te reprimas, abre una ventana del
intérprete de Pilas y prueba allí también. ¡Anda, remolón...!
Eso.
ASUNTO: PROGRAMACIÓN CON PYTHONY PILAS	

 	

 HAZ TU PROPIOVIDEOJUEGO
PÁGINA 1 DE 20	

 	

 DURACIÓN: UNAS POCAS HORAS (CON INSTALACIÓN)
¡Mi cabezaaaa....!
función
variable
objeto
actor
¡O remolona!
Bueno, a parte de números, puedes utilizar textos. Para escribirlos, debes encerrarlos
entre dobles comillas “ ” o entre comillas simples ‘ ’, como tú prefieras. Y ya que estamos,
hagamos algo divertido; ¿qué pasará si sumamos dos textos?...
ASUNTO: PROGRAMACIÓN CON PYTHONY PILAS	

 	

 HAZ TU PROPIOVIDEOJUEGO
PÁGINA 2 DE 20	

 	

 DURACIÓN: UNAS POCAS HORAS (CON INSTALACIÓN)
Vale, vale,
eso ya lo sé
hacer
¿Alguna otra cosa?
No pongas esa cara de sorpresa, que no es para tanto. De hecho, acaban de ocurrir varias
cosas interesantes. Fíjate:
• Sumar dos textos lo que produce de resultado es otro texto que no es más que la unión de
los dos, el segundo justo a continuación del primero. Eso se conoce como concatenación.
Pero observa que, a los humanos, lo que nos llama la atención es que no hay un espacio en
medio y sale como una sola palabra gustanlas. No te mosquees. Python ha hecho lo que
le has pedido. Como simplemente une los dos pedazos de texto que le has dado, si quieres
que separe gustan de las, debes dejarle un espacio en blanco a posta, en el texto. ¡Los
espacios en blanco también importan! Mira la diferencia:
• También habrás visto que tú has escrito los textos con dobles comillas y Python te ha
devuelto el texto con comillas simples. ¡No importa! Como hemos dicho, se pueden usar
indistintamente. Hay más usos y más matices, pero por el momento, pueden esperar.
•El intérprete de Pilas colorea lo que escribes a medida que lo reconoce. ¿Te has fijado
que los números y el signo más los pone en rojo?¿Y que el texto entrecomillado lo pone en
verde? Cool... ¿De qué color pondrá otros elementos, otros tipos de datos?
ASUNTO: PROGRAMACIÓN CON PYTHONY PILAS	

 	

 HAZ TU PROPIOVIDEOJUEGO
PÁGINA 3 DE 20	

 	

 DURACIÓN: UNAS POCAS HORAS (CON INSTALACIÓN)
¡Ah, amigo!
Aquí está el culpable
Pero que conste que también
podríamos haberlo puesto aquí
Sí, sí, pero la
próxima vez pon “bicicletas” y no
“biciletas”
¡Un momento!
¿Hay más tipos de datos?
ASUNTO: PROGRAMACIÓN CON PYTHONY PILAS	

 	

 HAZ TU PROPIOVIDEOJUEGO
PÁGINA 4 DE 20	

 	

 DURACIÓN: UNAS POCAS HORAS (CON INSTALACIÓN)
Tipos de Datos en Python
Ya conoces dos: los números enteros (a este tipo Python lo llama int) y las cadenas
de texto (en este caso, string). Aquí tienes unos ejemplos de otros tipos típicos que
incorpora Python:
Números decimales o de coma flotante (float)
	 >> 3.36
	 >> 2.5e3
Listas (list)
	 >> [3, ‘hola’, 22.5]
Tuplas (tuple)
	 >> (‘hola’, ‘adios’)
Diccionarios (dict)
	 >> {‘a’:35, ‘b’:13}
Booleanos (bool)
	 >> True
	 >> False
Notación científica
Significa 2.5 x 103 = 2500
Varios elementos
separados por comas
Varios elementos
“etiquetados”
Valores que significan
“verdadero” o “falso”
Pero... ¿Para qué necesito un valor que represente algo que sea
‘verdadero’ o que sea ‘falso’? Humm....
Para empezar, como información. Prueba estas cuentas en el
intérprete de Pilas y observa lo que obtienes:
Pero la existencia de los valores booleanos True y False nos permite hacer lo anterior más
bonito. Prueba a hacer esto último de la siguiente manera:
ASUNTO: PROGRAMACIÓN CON PYTHONY PILAS	

 	

 HAZ TU PROPIOVIDEOJUEGO
PÁGINA 5 DE 20	

 	

 DURACIÓN: UNAS POCAS HORAS (CON INSTALACIÓN)
¡Ojo! Son dos símbolos “igual”. En Python
se expresan así las comparaciones
Python nos acaba de decir que
14574 es un múltiplo de 3...
... ya que ésta es la forma con la que Python
calcula el resto de hacer la división.
Pulsa ‘intro’ cuando
acabes de escribir esta línea
Python deja este espacio automáticamente
Deberás pulsar ‘intro’ dos veces para que ejecute el código
¿Qué ha ocurrido aquí? Lo que queríamos hacer es decirle al ordenador que
o, de forma más general, algo que siga el esquema
En lenguaje Python, ese bloque condicional se escribe con la instrucción if (‘si’, en
inglés, como es lógico, al provenir de un lenguaje del mundo anglosajón):
Veámoslo de nuevo en el ejemplo concreto anterior:
ASUNTO: PROGRAMACIÓN CON PYTHONY PILAS	

 	

 HAZ TU PROPIOVIDEOJUEGO
PÁGINA 6 DE 20	

 	

 DURACIÓN: UNAS POCAS HORAS (CON INSTALACIÓN)
Si se cumple cierta condición...
...haz lo que te digo aquí
if se cumple cierta condición:
haz lo que te digo aquí
Si 14574 es divisible por 3...
...escribe que es divisible por 3
if 14574 % 3 == 0:
print “14574 es divisible por 3”
Fíjate en el
sangrado del código para
indicar qué es lo que está
relacionado con el if
¡Y también en los dos
puntos que indican que lo
deseado viene a continuación!
De hecho, los bloques if pueden ser más completos. Por ejemplo, podemos incluir una
tarea para realizar en el caso de que no se cumpla la condición utilizando la instrucción
else. Fíjate, de nuevo, en la importancia de los dos puntos y el sangrado del código:
Habrás tenido que borrar varios espacios (en concreto 4 espacios) para poder dejar el
else con el sangrado adecuado, ¿verdad? Por cierto, muchas veces verás que se usa el
término indentado en lugar de sangrado. En ambos casos nos referimos a lo mismo.
ASUNTO: PROGRAMACIÓN CON PYTHONY PILAS	

 	

 HAZ TU PROPIOVIDEOJUEGO
PÁGINA 7 DE 20	

 	

 DURACIÓN: UNAS POCAS HORAS (CON INSTALACIÓN)
Humm... Vale. Pero resulta
molesto escribir todo el
código cada vez que
quiero probar con un
número distinto...
¿No?
... Y no hablemos
de tener que escribir
el mismo número
varias veces...
Sí, claro. ¿Y si quiero saber ahora si 4503 es también divisible por 3? ¿Y 3400748? ¿Y
13028476? ¿Tengo que escribirlo todo de nuevo por cada número? ¿Cada vez?...
Nuestro amigo Python proporciona una forma de agilizar todo esto, un tipo de bloque
llamado función. Escribe lo siguiente en el intérprete de Pilas:
Con la instrucción def conseguimos definir un bloque de código (una función) que
Python ejecutará cada vez que escribas su nombre, en este caso, divisibilidad_por_tres.
Haz la prueba:
ASUNTO: PROGRAMACIÓN CON PYTHONY PILAS	

 	

 HAZ TU PROPIOVIDEOJUEGO
PÁGINA 8 DE 20	

 	

 DURACIÓN: UNAS POCAS HORAS (CON INSTALACIÓN)
Este sangrado no es automático. Acuérdate; debes
poner 4 espacios para indicar el contenido del bloque
Python ejecuta cada vez el código
del bloque usando como numero el valor
que pones entre paréntesis
ASUNTO: PROGRAMACIÓN CON PYTHONY PILAS	

 	

 HAZ TU PROPIOVIDEOJUEGO
PÁGINA 9 DE 20	

 	

 DURACIÓN: UNAS POCAS HORAS (CON INSTALACIÓN)
Funciones (y otros bichos raros)
Sí, un poco bicho raro sí te parecerá. A fin de
cuentas, el nombre
	 divisibilidad_por_tres
se las trae. Y es que podemos elegir el nombre que
queramos para una función pero con ciertas
condiciones. Y las mismas consideraciones sirven
para las variables (algo de ello viste en el tutorial anterior) y para cualquier tipo de
objeto que maneja Python.
Estos nombres no deben contener espacios (lo que es lógico pues Python no sabría
distinguir si es un solo nombre o son dos) ni deben comenzar por un número ni usar
caracteres no anglosajones (como la ñ) o especiales, con alguna excepción (como la
_). Suele ser aconsejable utilizar nombres muy descriptivos que nos ayuden a
recordar para qué sirven. Y como no podemos usar espacios, se suele acudir a la _
o a mayúsculas para seprar las palabras. Mira un par de ejemplos más:
! ! ! escribe_un_cuento	 	 	 colorDeseado
¡Ten cuidado! Python distingue entre mayúsculas y minúsculas, así que
! ! ! colorDeseado	 	 y! ! colordeseado
son dos nombres válidos diferentes.
Además, las funciones tienen un poco más de rareza, pues su nombre ha de incluir
los paréntesis, lo que permite que les pasemos valores para que sean usados en el
código que contienen. Y sí, decimos valores, en plural, por que podemos pasarle
varios (en lenguaje técnico, se les llama argumentos o parámetros).
Un ejemplo; intenta entender cómo funciona y qué hace la siguiente función:
! ! def divisibilidad(numero1, numero2):
	 	 if numero1 % numero2 == 0:
	 	 print str(numero1) + “ es divisible por “ + str(numero2)
	 	 else:
	 	 print str(numero1) + “ no es divisible por “ + str(numero2)
Prueba a ponerla en práctica utilizando diferentes números.
¿Se te escapa algo?
Hay una web en la que puedes comprender éste y otros temas, de forma interactiva. Se
trata de
Python - Traducción al Español (América Latina) | Codecademy
ASUNTO: PROGRAMACIÓN CON PYTHONY PILAS	

 	

 HAZ TU PROPIOVIDEOJUEGO
PÁGINA 10 DE 20	

 	

 DURACIÓN: UNAS POCAS HORAS (CON INSTALACIÓN)
¡Para profundizar más!
¿A qué esperas?
¡Regístrate!
Si vas realizando el tutorial de CodeAcademy irás aprendiendo la sintaxis de Python,
familiarizándote con las funciones, las variables, otros tipos de bloques de código y
los diferentes tipos de datos, incluyendo lo que son las clases y su materialización como
objetos. Sí, sí, ¿recuerdas que nombramos en el tutorial anterior a los objetos y cómo
acceder a sus elementos con la notación dot (la de escribir detrás del nombre un punto y,
a continuación, el nombre del elemento)?
Pues la noticia es que...
Que los módulos, como Pilas, son objetos lo puedes ver con facilidad. Fïjate que para
iniciarlo lo que hacemos (lo pone el intérprete de Pilas de forma automática) es llamar a
un elemento suyo, la función iniciar(), con la notación dot:
ASUNTO: PROGRAMACIÓN CON PYTHONY PILAS	

 	

 HAZ TU PROPIOVIDEOJUEGO
PÁGINA 11 DE 20	

 	

 DURACIÓN: UNAS POCAS HORAS (CON INSTALACIÓN)
... estooo... sí...
En Python TODO es un objeto
¿Todo?
TODO
Pero fíjate en la siguiente línea que es más divertida todavía. ¡Aparecen objetos en cadena!
Lo que hacemos, aparentemente, es llamar a la función Mono() que es un elemento del
objeto actores que, a su vez, es un elemento del objeto pilas. Y al objeto resultante,
lo hemos llamado mono, para poder referirnos a él más adelante (es lo que se llama una
variable). Y sí, es un objeto a su vez. Por ejemplo, tiene un elemento, una propiedad,
llamada x que nos da la coordenada x de su posición en pantalla. Pruébalo:
¡Incluso la puedes cambiar y verás que, automáticamente, nuestro objeto mono cambia de
posición en la ventana gráfica!
Bueno, cualquier cosa que sea viable hacer con los elementos definidos en los objetos.
Nuestro mono, como ejemplo, posee también dos funciones que le hacen,
respectivamente, hablar y reír. ¿Qué te parece si definimos nosotros mismos una función
que las use para saludar, con el texto que deseemos? Sea:
ASUNTO: PROGRAMACIÓN CON PYTHONY PILAS	

 	

 HAZ TU PROPIOVIDEOJUEGO
PÁGINA 12 DE 20	

 	

 DURACIÓN: UNAS POCAS HORAS (CON INSTALACIÓN)
Y ¿puedo hacer cualquier cosa?
Lo has adivinado. La función decir() hace que el mono hable y la función sonreir() hace
que nos alegre la cara. ¿La probamos? Ejecuta la función con el texto “Hola, Mundo”:
ASUNTO: PROGRAMACIÓN CON PYTHONY PILAS	

 	

 HAZ TU PROPIOVIDEOJUEGO
PÁGINA 13 DE 20	

 	

 DURACIÓN: UNAS POCAS HORAS (CON INSTALACIÓN)
¡Es fantástico!
Como ves, todos los elementos que maneja Python los puedes usar y mezclar para realizar
tareas mucho más complicadas que realizar, simplemente, una suma.
ASUNTO: PROGRAMACIÓN CON PYTHONY PILAS	

 	

 HAZ TU PROPIOVIDEOJUEGO
PÁGINA 14 DE 20	

 	

 DURACIÓN: UNAS POCAS HORAS (CON INSTALACIÓN)
¿Te convences?
Con un poco de suerte, ya habrás empezado
a hacerte una buena idea de lo que son los
objetos y asumirás que, de nuevo, en Python
todo son objetos. ¿No lo crees? Las humildes cadenas de texto, por ejemplo,
encierran mucho más de lo que parece. Tienen, entre otras, una función miembro
que se encarga de convertir todas sus letras a mayúsculas (la función miembro
upper()). Sí, sí, como lo oyes. La demostración:
Si quieres hacer algo de magia y averiguar qué esconde un objeto, puedes probar
con la función de Python dir(). No te asustes con el resultado.
¿Te suena?
Nos falta sólo la recta final para terminar este segundo tutorial y tenerlo todo listo para
pasar a la acción y comenzar a hacer nuestros pinitos.
El intérprete de Pilas es una herramienta genial, pero necesitamos ayuda cuando se
trata de escribir mucho código y cuando queremos interrumpir nuestra tarea y continuar
más adelante. Afortunadamente, todo está pensado y, tanto Python como Pilas disponen
de métodos para ejecutar archivos de texto que contengan código válido.
En el caso de Pilas, la forma es muy sencilla; basta arrastrar y soltar el documento
de texto que contiene el código sobre la ventana de Pilas.
Hagamos la prueba. Coge un editor de texto cualquiera y escribe el código de nuestro mono
sonriente. Presta atención a una cosa; como ahora no estás en el Intérprete de Pilas,
éste no hace nada automático, así que tienes que añadir las líneas que aparecían por
defecto. Además, tienes que añadir también otra línea indicando a Pilas que está todo listo
y que debe ejecutar con su engine las instrucciones que le hemos dado.
ASUNTO: PROGRAMACIÓN CON PYTHONY PILAS	

 	

 HAZ TU PROPIOVIDEOJUEGO
PÁGINA 15 DE 20	

 	

 DURACIÓN: UNAS POCAS HORAS (CON INSTALACIÓN)
No se vayan
todavía...
¡Aún hay más!
import pilas
pilas.iniciar()
mono = pilas.actores.Mono()
def saludar(mensaje):
mono.decir(mensaje)
mono.sonreir()
saludar(“Hola, Mundo”)
pilas.ejecutar()
}
Ésta es la línea nueva que debes
añadir
Estas líneas son las que ponía antes
Pilas automáticamente
Éste es el contenido del archivo de texto que
has de escribir. Guárdalo con un nombre
terminado en .py, por ejemplo, saludar.py
Guardar tu código con un nombre terminado en .py no es solo una buena idea, es una
costumbre muy extendida entre los programadores Python (los pythonistas). Es un
convenio muy útil que permite identificar rápidamente si un archivo contiene código
Python.
¡Un aviso! Asegúrate que has guardado el archivo en formato de texto plano, no vaya a
ser que tu editor de texto te lo guarde con información de tipos de letra o estilos de texto.
Nosotros, de cara al código, no necesitamos nada de eso.
Bueno, ahora ya puedes lanzar Pilas y arrastrar tu archivo sobre su ventana. Verás que
Pilas la detecta...
ASUNTO: PROGRAMACIÓN CON PYTHONY PILAS	

 	

 HAZ TU PROPIOVIDEOJUEGO
PÁGINA 16 DE 20	

 	

 DURACIÓN: UNAS POCAS HORAS (CON INSTALACIÓN)
Suéltala y... ¡alehop!
Todo está en orden. Sabes cómo escribir un archivo de código y como ejecutarlo. Sólo te
falta práctica y aprender las características de Pilas, poco a poco, para realizar tu
videojuego.
Pero, espera, ¿te inquieta algo?
ASUNTO: PROGRAMACIÓN CON PYTHONY PILAS	

 	

 HAZ TU PROPIOVIDEOJUEGO
PÁGINA 17 DE 20	

 	

 DURACIÓN: UNAS POCAS HORAS (CON INSTALACIÓN)
que me ayudara un
poco...
Sería interesante
disponer de un
editor de texto
Me confunde el
sangrado y
tanto nombre
nuevo
Bien, no hay que preocuparse puesto que existen muchos editores de código. Aunque
puedes usar, por supuesto, el que prefieras, vamos a sugerirte uno: Ninja-IDE. Para
obtenerlo, dirígete al apartado de descargas su web
ninja-ide.org
Una vez instalado, prueba a abrir nuestro código saludar.py
desde el menú o desde el icono correspondiente de la barra
lateral de Ninja-IDE (si pasas el ratón sobre ellos y esperas
un momento, verás una ayuda emergente).
ASUNTO: PROGRAMACIÓN CON PYTHONY PILAS	

 	

 HAZ TU PROPIOVIDEOJUEGO
PÁGINA 18 DE 20	

 	

 DURACIÓN: UNAS POCAS HORAS (CON INSTALACIÓN)
Tiene mejor pinta, ¿verdad? Ninja-IDE colorea la sintaxis de Python, coloca los 4
espacios en blanco cuando pulsas la tecla tabulador e incluso te hace sugerencias de estilo.
Puedes ver una en la línea 7, marcada por un subrayado amarillo. Acerca, de nuevo, el
cursor del ratón a esa línea para leer la ayuda emergente:
ASUNTO: PROGRAMACIÓN CON PYTHONY PILAS	

 	

 HAZ TU PROPIOVIDEOJUEGO
PÁGINA 19 DE 20	

 	

 DURACIÓN: UNAS POCAS HORAS (CON INSTALACIÓN)
Ninja-IDE te sugiere, por claridad, que dejes dos líneas en blanco antes de la definición
de la función saludar(). Si lo corriges verás que desaparece la línea amarilla...
Vaale. Pero a partir de ahora nos pondremos serios
... serios y manos a la obra. ¡Tu videojuego está en camino!
ASUNTO: PROGRAMACIÓN CON PYTHONY PILAS	

 	

 HAZ TU PROPIOVIDEOJUEGO
PÁGINA 20 DE 20	

 	

 DURACIÓN: UNAS POCAS HORAS (CON INSTALACIÓN)
Muy bien, muy bien...
¿Pero no es suficiente ya
por hoy?
¡Quiero descansar!
¿Serios?

Contenu connexe

Tendances

Programación con Pygame VIII
Programación con Pygame VIIIProgramación con Pygame VIII
Programación con Pygame VIIIFernando Salamero
 
Instructivo tortugart
Instructivo tortugartInstructivo tortugart
Instructivo tortugartGladys León
 
Python y la POO, en una clase, UNNe-Corrientes
Python y la POO, en una clase, UNNe-CorrientesPython y la POO, en una clase, UNNe-Corrientes
Python y la POO, en una clase, UNNe-Corrientesalexis ibarra
 
Programación con Pygame III
Programación con Pygame IIIProgramación con Pygame III
Programación con Pygame IIIFernando Salamero
 
Ejercicios de programacion if - switch-case
Ejercicios de programacion   if  -   switch-caseEjercicios de programacion   if  -   switch-case
Ejercicios de programacion if - switch-caseGuillermo Viaje
 
Introducción a las librerías PyGame y PyOpenGL
Introducción a las librerías PyGame y PyOpenGLIntroducción a las librerías PyGame y PyOpenGL
Introducción a las librerías PyGame y PyOpenGLkdeespana
 
Taller de Pilas Engine, un motor de juegos en Python - PyConES 2014
Taller de Pilas Engine, un motor de juegos en Python - PyConES 2014Taller de Pilas Engine, un motor de juegos en Python - PyConES 2014
Taller de Pilas Engine, un motor de juegos en Python - PyConES 2014Fernando Salamero
 

Tendances (20)

Python no muerde
Python  no muerdePython  no muerde
Python no muerde
 
Programación con Pygame IX
Programación con Pygame IXProgramación con Pygame IX
Programación con Pygame IX
 
Python (práctica 4)
Python (práctica 4)Python (práctica 4)
Python (práctica 4)
 
Curso python
Curso pythonCurso python
Curso python
 
Programación con Pygame VIII
Programación con Pygame VIIIProgramación con Pygame VIII
Programación con Pygame VIII
 
Python (práctica 3)
Python (práctica 3)Python (práctica 3)
Python (práctica 3)
 
Instructivo tortugart
Instructivo tortugartInstructivo tortugart
Instructivo tortugart
 
Presentación del 21 de abril de 2012
Presentación del 21 de abril de 2012Presentación del 21 de abril de 2012
Presentación del 21 de abril de 2012
 
Python para principiantes
Python para principiantesPython para principiantes
Python para principiantes
 
Programación con Pygame VI
Programación con Pygame VIProgramación con Pygame VI
Programación con Pygame VI
 
Python y la POO, en una clase, UNNe-Corrientes
Python y la POO, en una clase, UNNe-CorrientesPython y la POO, en una clase, UNNe-Corrientes
Python y la POO, en una clase, UNNe-Corrientes
 
Programación con Pygame V
Programación con Pygame VProgramación con Pygame V
Programación con Pygame V
 
Programación con Pygame I
Programación con Pygame IProgramación con Pygame I
Programación con Pygame I
 
Guia Fundamentos scripting RHINO
Guia Fundamentos scripting RHINOGuia Fundamentos scripting RHINO
Guia Fundamentos scripting RHINO
 
Programación con Pygame III
Programación con Pygame IIIProgramación con Pygame III
Programación con Pygame III
 
Ejercicios de programacion if - switch-case
Ejercicios de programacion   if  -   switch-caseEjercicios de programacion   if  -   switch-case
Ejercicios de programacion if - switch-case
 
Introducción a las librerías PyGame y PyOpenGL
Introducción a las librerías PyGame y PyOpenGLIntroducción a las librerías PyGame y PyOpenGL
Introducción a las librerías PyGame y PyOpenGL
 
Greenfoot 6
Greenfoot 6Greenfoot 6
Greenfoot 6
 
Taller de Pilas Engine, un motor de juegos en Python - PyConES 2014
Taller de Pilas Engine, un motor de juegos en Python - PyConES 2014Taller de Pilas Engine, un motor de juegos en Python - PyConES 2014
Taller de Pilas Engine, un motor de juegos en Python - PyConES 2014
 
Intro pygamev2
Intro pygamev2Intro pygamev2
Intro pygamev2
 

En vedette

Programación de Videojuegos con Python y Pilas (III)
Programación de Videojuegos con Python y Pilas (III)Programación de Videojuegos con Python y Pilas (III)
Programación de Videojuegos con Python y Pilas (III)Fernando Salamero
 
Programación de Videojuegos con Python y Pilas (VI)
Programación de Videojuegos con Python y Pilas (VI)Programación de Videojuegos con Python y Pilas (VI)
Programación de Videojuegos con Python y Pilas (VI)Fernando Salamero
 
(Sin anotaciones) - En busca de la Física
(Sin anotaciones) - En busca de la Física(Sin anotaciones) - En busca de la Física
(Sin anotaciones) - En busca de la FísicaFernando Salamero
 
Programación de Videojuegos con Python y Pilas (X)
Programación de Videojuegos con Python y Pilas (X)Programación de Videojuegos con Python y Pilas (X)
Programación de Videojuegos con Python y Pilas (X)Fernando Salamero
 
Programación de Videojuegos con Python y Pilas (IX)
Programación de Videojuegos con Python y Pilas (IX)Programación de Videojuegos con Python y Pilas (IX)
Programación de Videojuegos con Python y Pilas (IX)Fernando Salamero
 
Programación de Videojuegos con Python y Pilas (VII)
Programación de Videojuegos con Python y Pilas (VII)Programación de Videojuegos con Python y Pilas (VII)
Programación de Videojuegos con Python y Pilas (VII)Fernando Salamero
 
Programación de Videojuegos con Python y Pilas (VIII)
Programación de Videojuegos con Python y Pilas (VIII)Programación de Videojuegos con Python y Pilas (VIII)
Programación de Videojuegos con Python y Pilas (VIII)Fernando Salamero
 
Programación de Videojuegos con Python y Pilas (V)
Programación de Videojuegos con Python y Pilas (V)Programación de Videojuegos con Python y Pilas (V)
Programación de Videojuegos con Python y Pilas (V)Fernando Salamero
 
Programación con Pygame (II)
Programación con Pygame (II)Programación con Pygame (II)
Programación con Pygame (II)Fernando Salamero
 
Curso Programacion de Juego Introducion IA
Curso Programacion de Juego Introducion IACurso Programacion de Juego Introducion IA
Curso Programacion de Juego Introducion IARicardo Daniel Quiroga
 
Programacion orientada a objetos python manuel casado martín - universidad ...
Programacion orientada a objetos python   manuel casado martín - universidad ...Programacion orientada a objetos python   manuel casado martín - universidad ...
Programacion orientada a objetos python manuel casado martín - universidad ...Wilson Bautista
 

En vedette (18)

Programación de Videojuegos con Python y Pilas (III)
Programación de Videojuegos con Python y Pilas (III)Programación de Videojuegos con Python y Pilas (III)
Programación de Videojuegos con Python y Pilas (III)
 
Programación de Videojuegos con Python y Pilas (VI)
Programación de Videojuegos con Python y Pilas (VI)Programación de Videojuegos con Python y Pilas (VI)
Programación de Videojuegos con Python y Pilas (VI)
 
(Sin anotaciones) - En busca de la Física
(Sin anotaciones) - En busca de la Física(Sin anotaciones) - En busca de la Física
(Sin anotaciones) - En busca de la Física
 
Programación de Videojuegos con Python y Pilas (X)
Programación de Videojuegos con Python y Pilas (X)Programación de Videojuegos con Python y Pilas (X)
Programación de Videojuegos con Python y Pilas (X)
 
Programación de Videojuegos con Python y Pilas (IX)
Programación de Videojuegos con Python y Pilas (IX)Programación de Videojuegos con Python y Pilas (IX)
Programación de Videojuegos con Python y Pilas (IX)
 
Programación de Videojuegos con Python y Pilas (VII)
Programación de Videojuegos con Python y Pilas (VII)Programación de Videojuegos con Python y Pilas (VII)
Programación de Videojuegos con Python y Pilas (VII)
 
Iniciación a python
Iniciación a pythonIniciación a python
Iniciación a python
 
Pythonic Math
Pythonic MathPythonic Math
Pythonic Math
 
Programación de Videojuegos con Python y Pilas (VIII)
Programación de Videojuegos con Python y Pilas (VIII)Programación de Videojuegos con Python y Pilas (VIII)
Programación de Videojuegos con Python y Pilas (VIII)
 
Programación de Videojuegos con Python y Pilas (V)
Programación de Videojuegos con Python y Pilas (V)Programación de Videojuegos con Python y Pilas (V)
Programación de Videojuegos con Python y Pilas (V)
 
Intro Pygame Capitulo 6
Intro Pygame Capitulo 6Intro Pygame Capitulo 6
Intro Pygame Capitulo 6
 
Intro PyGame Capitulo 0
Intro PyGame Capitulo 0Intro PyGame Capitulo 0
Intro PyGame Capitulo 0
 
Programación con Pygame IV
Programación con Pygame IVProgramación con Pygame IV
Programación con Pygame IV
 
Intro PyGame Capitulo 1
Intro PyGame Capitulo 1Intro PyGame Capitulo 1
Intro PyGame Capitulo 1
 
Programación con Pygame (II)
Programación con Pygame (II)Programación con Pygame (II)
Programación con Pygame (II)
 
Curso Programacion de Juego Introducion IA
Curso Programacion de Juego Introducion IACurso Programacion de Juego Introducion IA
Curso Programacion de Juego Introducion IA
 
Intro PyGame Capitulo 5
Intro PyGame Capitulo 5Intro PyGame Capitulo 5
Intro PyGame Capitulo 5
 
Programacion orientada a objetos python manuel casado martín - universidad ...
Programacion orientada a objetos python   manuel casado martín - universidad ...Programacion orientada a objetos python   manuel casado martín - universidad ...
Programacion orientada a objetos python manuel casado martín - universidad ...
 

Similaire à Programación de Videojuegos con Python y Pilas (II)

Similaire à Programación de Videojuegos con Python y Pilas (II) (20)

Phyton
PhytonPhyton
Phyton
 
Hx c27
Hx c27Hx c27
Hx c27
 
Hx c23
Hx c23Hx c23
Hx c23
 
Clase 3 - Introducción a la programación con Python II.pptx
Clase 3 - Introducción a la programación con Python II.pptxClase 3 - Introducción a la programación con Python II.pptx
Clase 3 - Introducción a la programación con Python II.pptx
 
Manual de python
Manual de pythonManual de python
Manual de python
 
Recursividad
RecursividadRecursividad
Recursividad
 
Pythonlearn-01-Intro.pptx
Pythonlearn-01-Intro.pptxPythonlearn-01-Intro.pptx
Pythonlearn-01-Intro.pptx
 
Inmersion enpython3.0.11
Inmersion enpython3.0.11Inmersion enpython3.0.11
Inmersion enpython3.0.11
 
Inmersión en Python 3.0.11
Inmersión en Python 3.0.11Inmersión en Python 3.0.11
Inmersión en Python 3.0.11
 
Manual
ManualManual
Manual
 
Unidad V Tutorial de Python
Unidad V Tutorial de PythonUnidad V Tutorial de Python
Unidad V Tutorial de Python
 
Clase 2 - Introducción a la programación con Python I.pptx
Clase 2 - Introducción a la programación con Python I.pptxClase 2 - Introducción a la programación con Python I.pptx
Clase 2 - Introducción a la programación con Python I.pptx
 
introduccion a python completo.pdf
introduccion a python completo.pdfintroduccion a python completo.pdf
introduccion a python completo.pdf
 
ITSCH Taller Python by Uriel C.H.
ITSCH Taller Python by Uriel C.H.ITSCH Taller Python by Uriel C.H.
ITSCH Taller Python by Uriel C.H.
 
Introducción a Python
Introducción a PythonIntroducción a Python
Introducción a Python
 
Primer programa en 1
Primer programa en 1Primer programa en 1
Primer programa en 1
 
Python Vs C
Python Vs CPython Vs C
Python Vs C
 
Taller sinonimos, buscar, letra capital, copiar formato y traducir
Taller sinonimos, buscar, letra capital, copiar formato y traducirTaller sinonimos, buscar, letra capital, copiar formato y traducir
Taller sinonimos, buscar, letra capital, copiar formato y traducir
 
PROGRAMANDO CON MSWLOGO
PROGRAMANDO CON MSWLOGOPROGRAMANDO CON MSWLOGO
PROGRAMANDO CON MSWLOGO
 
TALLER SCRATCH 1º ó 2º ESO (1).pdf
TALLER SCRATCH 1º ó 2º ESO (1).pdfTALLER SCRATCH 1º ó 2º ESO (1).pdf
TALLER SCRATCH 1º ó 2º ESO (1).pdf
 

Plus de Fernando Salamero

(Anotaciones) Ciencia (Cuestiones) que la tiza no propone
(Anotaciones) Ciencia (Cuestiones) que la tiza no propone(Anotaciones) Ciencia (Cuestiones) que la tiza no propone
(Anotaciones) Ciencia (Cuestiones) que la tiza no proponeFernando Salamero
 
Ciencia (Cuestiones) que la tiza no propone
Ciencia (Cuestiones) que la tiza no proponeCiencia (Cuestiones) que la tiza no propone
Ciencia (Cuestiones) que la tiza no proponeFernando Salamero
 
(Con anotaciones) En busca de la Física
(Con anotaciones) En busca de la Física(Con anotaciones) En busca de la Física
(Con anotaciones) En busca de la FísicaFernando Salamero
 
Timeline - En busca de la Física
Timeline - En busca de la FísicaTimeline - En busca de la Física
Timeline - En busca de la FísicaFernando Salamero
 
Programación con Pygame VII
Programación con Pygame VIIProgramación con Pygame VII
Programación con Pygame VIIFernando Salamero
 

Plus de Fernando Salamero (6)

(Anotaciones) Ciencia (Cuestiones) que la tiza no propone
(Anotaciones) Ciencia (Cuestiones) que la tiza no propone(Anotaciones) Ciencia (Cuestiones) que la tiza no propone
(Anotaciones) Ciencia (Cuestiones) que la tiza no propone
 
Ciencia (Cuestiones) que la tiza no propone
Ciencia (Cuestiones) que la tiza no proponeCiencia (Cuestiones) que la tiza no propone
Ciencia (Cuestiones) que la tiza no propone
 
(Con anotaciones) En busca de la Física
(Con anotaciones) En busca de la Física(Con anotaciones) En busca de la Física
(Con anotaciones) En busca de la Física
 
Timeline - En busca de la Física
Timeline - En busca de la FísicaTimeline - En busca de la Física
Timeline - En busca de la Física
 
Jovenes físicos
Jovenes físicosJovenes físicos
Jovenes físicos
 
Programación con Pygame VII
Programación con Pygame VIIProgramación con Pygame VII
Programación con Pygame VII
 

Dernier

PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxlupitavic
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioELIASAURELIOCHAVEZCA1
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
Abril 2024 - Maestra Jardinera Ediba.pdf
Abril 2024 -  Maestra Jardinera Ediba.pdfAbril 2024 -  Maestra Jardinera Ediba.pdf
Abril 2024 - Maestra Jardinera Ediba.pdfValeriaCorrea29
 
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.docRodneyFrankCUADROSMI
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxlclcarmen
 
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONALMiNeyi1
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfPaolaRopero2
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfpatriciaines1993
 
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdfMiNeyi1
 
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática5    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática5    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxYadi Campos
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfNancyLoaa
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesYanirisBarcelDelaHoz
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñotapirjackluis
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSYadi Campos
 

Dernier (20)

PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
Abril 2024 - Maestra Jardinera Ediba.pdf
Abril 2024 -  Maestra Jardinera Ediba.pdfAbril 2024 -  Maestra Jardinera Ediba.pdf
Abril 2024 - Maestra Jardinera Ediba.pdf
 
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
 
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
 
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática5    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática5    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdf
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonables
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 

Programación de Videojuegos con Python y Pilas (II)

  • 1. Introducción a Python, Pilas y Videojuegos (II) En el capítulo anterior... ... dejamos a nuestros intrépidos futuros programadores perdiendo la cabeza con tantos nuevos términos. Y es que lo son, claro. No en vano, así como en España utilizamos el término ordenador, en Latinoamérica se utiliza más el de computadora, ya que nuestros dispositivos hacen eso, computar, computar muchos datos distintos. Y hablando de datos, ¿recuerdas que ha hemos usado? ¿Recuerdas nuestra brillante suma? Esos 3, 5 y 8 son datos numéricos. Sí, sí, no te reprimas, abre una ventana del intérprete de Pilas y prueba allí también. ¡Anda, remolón...! Eso. ASUNTO: PROGRAMACIÓN CON PYTHONY PILAS HAZ TU PROPIOVIDEOJUEGO PÁGINA 1 DE 20 DURACIÓN: UNAS POCAS HORAS (CON INSTALACIÓN) ¡Mi cabezaaaa....! función variable objeto actor ¡O remolona!
  • 2. Bueno, a parte de números, puedes utilizar textos. Para escribirlos, debes encerrarlos entre dobles comillas “ ” o entre comillas simples ‘ ’, como tú prefieras. Y ya que estamos, hagamos algo divertido; ¿qué pasará si sumamos dos textos?... ASUNTO: PROGRAMACIÓN CON PYTHONY PILAS HAZ TU PROPIOVIDEOJUEGO PÁGINA 2 DE 20 DURACIÓN: UNAS POCAS HORAS (CON INSTALACIÓN) Vale, vale, eso ya lo sé hacer ¿Alguna otra cosa?
  • 3. No pongas esa cara de sorpresa, que no es para tanto. De hecho, acaban de ocurrir varias cosas interesantes. Fíjate: • Sumar dos textos lo que produce de resultado es otro texto que no es más que la unión de los dos, el segundo justo a continuación del primero. Eso se conoce como concatenación. Pero observa que, a los humanos, lo que nos llama la atención es que no hay un espacio en medio y sale como una sola palabra gustanlas. No te mosquees. Python ha hecho lo que le has pedido. Como simplemente une los dos pedazos de texto que le has dado, si quieres que separe gustan de las, debes dejarle un espacio en blanco a posta, en el texto. ¡Los espacios en blanco también importan! Mira la diferencia: • También habrás visto que tú has escrito los textos con dobles comillas y Python te ha devuelto el texto con comillas simples. ¡No importa! Como hemos dicho, se pueden usar indistintamente. Hay más usos y más matices, pero por el momento, pueden esperar. •El intérprete de Pilas colorea lo que escribes a medida que lo reconoce. ¿Te has fijado que los números y el signo más los pone en rojo?¿Y que el texto entrecomillado lo pone en verde? Cool... ¿De qué color pondrá otros elementos, otros tipos de datos? ASUNTO: PROGRAMACIÓN CON PYTHONY PILAS HAZ TU PROPIOVIDEOJUEGO PÁGINA 3 DE 20 DURACIÓN: UNAS POCAS HORAS (CON INSTALACIÓN) ¡Ah, amigo! Aquí está el culpable Pero que conste que también podríamos haberlo puesto aquí Sí, sí, pero la próxima vez pon “bicicletas” y no “biciletas” ¡Un momento! ¿Hay más tipos de datos?
  • 4. ASUNTO: PROGRAMACIÓN CON PYTHONY PILAS HAZ TU PROPIOVIDEOJUEGO PÁGINA 4 DE 20 DURACIÓN: UNAS POCAS HORAS (CON INSTALACIÓN) Tipos de Datos en Python Ya conoces dos: los números enteros (a este tipo Python lo llama int) y las cadenas de texto (en este caso, string). Aquí tienes unos ejemplos de otros tipos típicos que incorpora Python: Números decimales o de coma flotante (float) >> 3.36 >> 2.5e3 Listas (list) >> [3, ‘hola’, 22.5] Tuplas (tuple) >> (‘hola’, ‘adios’) Diccionarios (dict) >> {‘a’:35, ‘b’:13} Booleanos (bool) >> True >> False Notación científica Significa 2.5 x 103 = 2500 Varios elementos separados por comas Varios elementos “etiquetados” Valores que significan “verdadero” o “falso”
  • 5. Pero... ¿Para qué necesito un valor que represente algo que sea ‘verdadero’ o que sea ‘falso’? Humm.... Para empezar, como información. Prueba estas cuentas en el intérprete de Pilas y observa lo que obtienes: Pero la existencia de los valores booleanos True y False nos permite hacer lo anterior más bonito. Prueba a hacer esto último de la siguiente manera: ASUNTO: PROGRAMACIÓN CON PYTHONY PILAS HAZ TU PROPIOVIDEOJUEGO PÁGINA 5 DE 20 DURACIÓN: UNAS POCAS HORAS (CON INSTALACIÓN) ¡Ojo! Son dos símbolos “igual”. En Python se expresan así las comparaciones Python nos acaba de decir que 14574 es un múltiplo de 3... ... ya que ésta es la forma con la que Python calcula el resto de hacer la división. Pulsa ‘intro’ cuando acabes de escribir esta línea Python deja este espacio automáticamente Deberás pulsar ‘intro’ dos veces para que ejecute el código
  • 6. ¿Qué ha ocurrido aquí? Lo que queríamos hacer es decirle al ordenador que o, de forma más general, algo que siga el esquema En lenguaje Python, ese bloque condicional se escribe con la instrucción if (‘si’, en inglés, como es lógico, al provenir de un lenguaje del mundo anglosajón): Veámoslo de nuevo en el ejemplo concreto anterior: ASUNTO: PROGRAMACIÓN CON PYTHONY PILAS HAZ TU PROPIOVIDEOJUEGO PÁGINA 6 DE 20 DURACIÓN: UNAS POCAS HORAS (CON INSTALACIÓN) Si se cumple cierta condición... ...haz lo que te digo aquí if se cumple cierta condición: haz lo que te digo aquí Si 14574 es divisible por 3... ...escribe que es divisible por 3 if 14574 % 3 == 0: print “14574 es divisible por 3” Fíjate en el sangrado del código para indicar qué es lo que está relacionado con el if ¡Y también en los dos puntos que indican que lo deseado viene a continuación!
  • 7. De hecho, los bloques if pueden ser más completos. Por ejemplo, podemos incluir una tarea para realizar en el caso de que no se cumpla la condición utilizando la instrucción else. Fíjate, de nuevo, en la importancia de los dos puntos y el sangrado del código: Habrás tenido que borrar varios espacios (en concreto 4 espacios) para poder dejar el else con el sangrado adecuado, ¿verdad? Por cierto, muchas veces verás que se usa el término indentado en lugar de sangrado. En ambos casos nos referimos a lo mismo. ASUNTO: PROGRAMACIÓN CON PYTHONY PILAS HAZ TU PROPIOVIDEOJUEGO PÁGINA 7 DE 20 DURACIÓN: UNAS POCAS HORAS (CON INSTALACIÓN) Humm... Vale. Pero resulta molesto escribir todo el código cada vez que quiero probar con un número distinto... ¿No? ... Y no hablemos de tener que escribir el mismo número varias veces...
  • 8. Sí, claro. ¿Y si quiero saber ahora si 4503 es también divisible por 3? ¿Y 3400748? ¿Y 13028476? ¿Tengo que escribirlo todo de nuevo por cada número? ¿Cada vez?... Nuestro amigo Python proporciona una forma de agilizar todo esto, un tipo de bloque llamado función. Escribe lo siguiente en el intérprete de Pilas: Con la instrucción def conseguimos definir un bloque de código (una función) que Python ejecutará cada vez que escribas su nombre, en este caso, divisibilidad_por_tres. Haz la prueba: ASUNTO: PROGRAMACIÓN CON PYTHONY PILAS HAZ TU PROPIOVIDEOJUEGO PÁGINA 8 DE 20 DURACIÓN: UNAS POCAS HORAS (CON INSTALACIÓN) Este sangrado no es automático. Acuérdate; debes poner 4 espacios para indicar el contenido del bloque Python ejecuta cada vez el código del bloque usando como numero el valor que pones entre paréntesis
  • 9. ASUNTO: PROGRAMACIÓN CON PYTHONY PILAS HAZ TU PROPIOVIDEOJUEGO PÁGINA 9 DE 20 DURACIÓN: UNAS POCAS HORAS (CON INSTALACIÓN) Funciones (y otros bichos raros) Sí, un poco bicho raro sí te parecerá. A fin de cuentas, el nombre divisibilidad_por_tres se las trae. Y es que podemos elegir el nombre que queramos para una función pero con ciertas condiciones. Y las mismas consideraciones sirven para las variables (algo de ello viste en el tutorial anterior) y para cualquier tipo de objeto que maneja Python. Estos nombres no deben contener espacios (lo que es lógico pues Python no sabría distinguir si es un solo nombre o son dos) ni deben comenzar por un número ni usar caracteres no anglosajones (como la ñ) o especiales, con alguna excepción (como la _). Suele ser aconsejable utilizar nombres muy descriptivos que nos ayuden a recordar para qué sirven. Y como no podemos usar espacios, se suele acudir a la _ o a mayúsculas para seprar las palabras. Mira un par de ejemplos más: ! ! ! escribe_un_cuento colorDeseado ¡Ten cuidado! Python distingue entre mayúsculas y minúsculas, así que ! ! ! colorDeseado y! ! colordeseado son dos nombres válidos diferentes. Además, las funciones tienen un poco más de rareza, pues su nombre ha de incluir los paréntesis, lo que permite que les pasemos valores para que sean usados en el código que contienen. Y sí, decimos valores, en plural, por que podemos pasarle varios (en lenguaje técnico, se les llama argumentos o parámetros). Un ejemplo; intenta entender cómo funciona y qué hace la siguiente función: ! ! def divisibilidad(numero1, numero2): if numero1 % numero2 == 0: print str(numero1) + “ es divisible por “ + str(numero2) else: print str(numero1) + “ no es divisible por “ + str(numero2) Prueba a ponerla en práctica utilizando diferentes números. ¿Se te escapa algo?
  • 10. Hay una web en la que puedes comprender éste y otros temas, de forma interactiva. Se trata de Python - Traducción al Español (América Latina) | Codecademy ASUNTO: PROGRAMACIÓN CON PYTHONY PILAS HAZ TU PROPIOVIDEOJUEGO PÁGINA 10 DE 20 DURACIÓN: UNAS POCAS HORAS (CON INSTALACIÓN) ¡Para profundizar más! ¿A qué esperas? ¡Regístrate!
  • 11. Si vas realizando el tutorial de CodeAcademy irás aprendiendo la sintaxis de Python, familiarizándote con las funciones, las variables, otros tipos de bloques de código y los diferentes tipos de datos, incluyendo lo que son las clases y su materialización como objetos. Sí, sí, ¿recuerdas que nombramos en el tutorial anterior a los objetos y cómo acceder a sus elementos con la notación dot (la de escribir detrás del nombre un punto y, a continuación, el nombre del elemento)? Pues la noticia es que... Que los módulos, como Pilas, son objetos lo puedes ver con facilidad. Fïjate que para iniciarlo lo que hacemos (lo pone el intérprete de Pilas de forma automática) es llamar a un elemento suyo, la función iniciar(), con la notación dot: ASUNTO: PROGRAMACIÓN CON PYTHONY PILAS HAZ TU PROPIOVIDEOJUEGO PÁGINA 11 DE 20 DURACIÓN: UNAS POCAS HORAS (CON INSTALACIÓN) ... estooo... sí... En Python TODO es un objeto ¿Todo? TODO
  • 12. Pero fíjate en la siguiente línea que es más divertida todavía. ¡Aparecen objetos en cadena! Lo que hacemos, aparentemente, es llamar a la función Mono() que es un elemento del objeto actores que, a su vez, es un elemento del objeto pilas. Y al objeto resultante, lo hemos llamado mono, para poder referirnos a él más adelante (es lo que se llama una variable). Y sí, es un objeto a su vez. Por ejemplo, tiene un elemento, una propiedad, llamada x que nos da la coordenada x de su posición en pantalla. Pruébalo: ¡Incluso la puedes cambiar y verás que, automáticamente, nuestro objeto mono cambia de posición en la ventana gráfica! Bueno, cualquier cosa que sea viable hacer con los elementos definidos en los objetos. Nuestro mono, como ejemplo, posee también dos funciones que le hacen, respectivamente, hablar y reír. ¿Qué te parece si definimos nosotros mismos una función que las use para saludar, con el texto que deseemos? Sea: ASUNTO: PROGRAMACIÓN CON PYTHONY PILAS HAZ TU PROPIOVIDEOJUEGO PÁGINA 12 DE 20 DURACIÓN: UNAS POCAS HORAS (CON INSTALACIÓN) Y ¿puedo hacer cualquier cosa?
  • 13. Lo has adivinado. La función decir() hace que el mono hable y la función sonreir() hace que nos alegre la cara. ¿La probamos? Ejecuta la función con el texto “Hola, Mundo”: ASUNTO: PROGRAMACIÓN CON PYTHONY PILAS HAZ TU PROPIOVIDEOJUEGO PÁGINA 13 DE 20 DURACIÓN: UNAS POCAS HORAS (CON INSTALACIÓN) ¡Es fantástico!
  • 14. Como ves, todos los elementos que maneja Python los puedes usar y mezclar para realizar tareas mucho más complicadas que realizar, simplemente, una suma. ASUNTO: PROGRAMACIÓN CON PYTHONY PILAS HAZ TU PROPIOVIDEOJUEGO PÁGINA 14 DE 20 DURACIÓN: UNAS POCAS HORAS (CON INSTALACIÓN) ¿Te convences? Con un poco de suerte, ya habrás empezado a hacerte una buena idea de lo que son los objetos y asumirás que, de nuevo, en Python todo son objetos. ¿No lo crees? Las humildes cadenas de texto, por ejemplo, encierran mucho más de lo que parece. Tienen, entre otras, una función miembro que se encarga de convertir todas sus letras a mayúsculas (la función miembro upper()). Sí, sí, como lo oyes. La demostración: Si quieres hacer algo de magia y averiguar qué esconde un objeto, puedes probar con la función de Python dir(). No te asustes con el resultado. ¿Te suena?
  • 15. Nos falta sólo la recta final para terminar este segundo tutorial y tenerlo todo listo para pasar a la acción y comenzar a hacer nuestros pinitos. El intérprete de Pilas es una herramienta genial, pero necesitamos ayuda cuando se trata de escribir mucho código y cuando queremos interrumpir nuestra tarea y continuar más adelante. Afortunadamente, todo está pensado y, tanto Python como Pilas disponen de métodos para ejecutar archivos de texto que contengan código válido. En el caso de Pilas, la forma es muy sencilla; basta arrastrar y soltar el documento de texto que contiene el código sobre la ventana de Pilas. Hagamos la prueba. Coge un editor de texto cualquiera y escribe el código de nuestro mono sonriente. Presta atención a una cosa; como ahora no estás en el Intérprete de Pilas, éste no hace nada automático, así que tienes que añadir las líneas que aparecían por defecto. Además, tienes que añadir también otra línea indicando a Pilas que está todo listo y que debe ejecutar con su engine las instrucciones que le hemos dado. ASUNTO: PROGRAMACIÓN CON PYTHONY PILAS HAZ TU PROPIOVIDEOJUEGO PÁGINA 15 DE 20 DURACIÓN: UNAS POCAS HORAS (CON INSTALACIÓN) No se vayan todavía... ¡Aún hay más! import pilas pilas.iniciar() mono = pilas.actores.Mono() def saludar(mensaje): mono.decir(mensaje) mono.sonreir() saludar(“Hola, Mundo”) pilas.ejecutar() } Ésta es la línea nueva que debes añadir Estas líneas son las que ponía antes Pilas automáticamente Éste es el contenido del archivo de texto que has de escribir. Guárdalo con un nombre terminado en .py, por ejemplo, saludar.py
  • 16. Guardar tu código con un nombre terminado en .py no es solo una buena idea, es una costumbre muy extendida entre los programadores Python (los pythonistas). Es un convenio muy útil que permite identificar rápidamente si un archivo contiene código Python. ¡Un aviso! Asegúrate que has guardado el archivo en formato de texto plano, no vaya a ser que tu editor de texto te lo guarde con información de tipos de letra o estilos de texto. Nosotros, de cara al código, no necesitamos nada de eso. Bueno, ahora ya puedes lanzar Pilas y arrastrar tu archivo sobre su ventana. Verás que Pilas la detecta... ASUNTO: PROGRAMACIÓN CON PYTHONY PILAS HAZ TU PROPIOVIDEOJUEGO PÁGINA 16 DE 20 DURACIÓN: UNAS POCAS HORAS (CON INSTALACIÓN)
  • 17. Suéltala y... ¡alehop! Todo está en orden. Sabes cómo escribir un archivo de código y como ejecutarlo. Sólo te falta práctica y aprender las características de Pilas, poco a poco, para realizar tu videojuego. Pero, espera, ¿te inquieta algo? ASUNTO: PROGRAMACIÓN CON PYTHONY PILAS HAZ TU PROPIOVIDEOJUEGO PÁGINA 17 DE 20 DURACIÓN: UNAS POCAS HORAS (CON INSTALACIÓN) que me ayudara un poco... Sería interesante disponer de un editor de texto Me confunde el sangrado y tanto nombre nuevo
  • 18. Bien, no hay que preocuparse puesto que existen muchos editores de código. Aunque puedes usar, por supuesto, el que prefieras, vamos a sugerirte uno: Ninja-IDE. Para obtenerlo, dirígete al apartado de descargas su web ninja-ide.org Una vez instalado, prueba a abrir nuestro código saludar.py desde el menú o desde el icono correspondiente de la barra lateral de Ninja-IDE (si pasas el ratón sobre ellos y esperas un momento, verás una ayuda emergente). ASUNTO: PROGRAMACIÓN CON PYTHONY PILAS HAZ TU PROPIOVIDEOJUEGO PÁGINA 18 DE 20 DURACIÓN: UNAS POCAS HORAS (CON INSTALACIÓN)
  • 19. Tiene mejor pinta, ¿verdad? Ninja-IDE colorea la sintaxis de Python, coloca los 4 espacios en blanco cuando pulsas la tecla tabulador e incluso te hace sugerencias de estilo. Puedes ver una en la línea 7, marcada por un subrayado amarillo. Acerca, de nuevo, el cursor del ratón a esa línea para leer la ayuda emergente: ASUNTO: PROGRAMACIÓN CON PYTHONY PILAS HAZ TU PROPIOVIDEOJUEGO PÁGINA 19 DE 20 DURACIÓN: UNAS POCAS HORAS (CON INSTALACIÓN)
  • 20. Ninja-IDE te sugiere, por claridad, que dejes dos líneas en blanco antes de la definición de la función saludar(). Si lo corriges verás que desaparece la línea amarilla... Vaale. Pero a partir de ahora nos pondremos serios ... serios y manos a la obra. ¡Tu videojuego está en camino! ASUNTO: PROGRAMACIÓN CON PYTHONY PILAS HAZ TU PROPIOVIDEOJUEGO PÁGINA 20 DE 20 DURACIÓN: UNAS POCAS HORAS (CON INSTALACIÓN) Muy bien, muy bien... ¿Pero no es suficiente ya por hoy? ¡Quiero descansar! ¿Serios?