Suscripciones ENI: ¡Acceso ilimitado a todos los libros y vídeos de ENI!  Descubrir
  1. Libros
  2. Python - Aprenda a programar proyectos lúdicos

Python Aprenda a programar proyectos lúdicos

  • 5% de descuento en todos los libros, con el código 5DESCUENTO
  • Disponible. Expedido en 24 horas
  • Envío gratis a partir de 25 € de compra
  • Versión online gratis por un año
  • 5% de descuento en todos los libros, con el código 5DESCUENTO
  • Acceso inmediato durante 10 años
  • Versión online digital, no descargable
  • Acceso ilimitado 24/7, durante 10 años
  • Acceso ilimitado 24/7, durante 10 años
  • Todos los libros online de ENI
  • Más de 5 novedades todos los meses
  • Novedades disponibles el mismo día de su publicación
  • Acceso 100% online

Presentación

¿Sueña con descubrir la programación realizando proyectos lúdicos?, ¿desea conocer los trucos del lenguaje Python, imprescindible en esta década? En ese caso, este libro escrito por un experto en la materia, le permitirá alcanzar sus objetivos.

En primer lugar, se le guiará para elegir e instalar su entorno Python en PC y Mac. Después, el autor le enseñará, de manera lúdica y pedagógica, este lenguaje accesible a todos y muy potente gracias a alrededor de cien ejercicios corregidos que presentan una dificultad progresiva. Cuatro capítulos le permitirán asimilar las bases de la programación: variables, tipos, condiciones, bucles, listas y funciones y anticipar los errores que deberá evitar. Otro capítulo le presentará las mejores técnicas para concebir sus programas, incluso los más complejos.

Más adelante, el autor le propondrá comprobar la facilidad de enfoque de Python y la creatividad ofrecida por sus librerías que superarán sus propios límites gracias a cuarenta proyectos guiados. El nivel de dificultad estará indicado por « para permitirle mejorar rápidamente sus habilidades.

En los dos últimos capítulos, profundizará su aprendizaje, a través de la práctica, con la creación de distintos juegos de arcade con Pygame y descubriendo algoritmos de Inteligencia Artificial centrados en imágenes y juegos de estrategia. El código fuente completo de los proyectos se podrá descargar desde la página web www.ediciones-eni.com.


¡Nuevo! Rondas de preguntas disponibles con la versión online.

¡Ronda de preguntas
incluida en
la versión online !
  • Ponga a prueba sus conocimientos al final de cada capítulo
  • Evalúe sus competencias

Índice

Prólogo
  1. 1. ¿ Por qué interesarse en la informática ?
  2. 2. ¿ Por qué el lenguaje Python ?
  3. 3. El estilo de mi pedagogía
  4. 4. ¿ Para quién es este libro ?
  5. 5. Organización del libro
  6. 6. Para terminar
  7. 7. Descargar el código fuente de los ejemplos
Instalación del entorno Python
  1. 1. Introducción
    1. 1.1 ¿ Qué hay que instalar ?
    2. 1.2 ¿ Qué hay de Anaconda ?
    3. 1.3 Para macOS y Linux
  2. 2. Instalación de Python en Windows 10
    1. 2.1 Diagnóstico
    2. 2.2 Instalación
  3. 3. Instalación de Python en macOS
    1. 3.1 Diagnóstico
    2. 3.2 Instalación
  4. 4. Instalación de las librerías anexas
    1. 4.1 Instalación en Windows 10
    2. 4.2 Instalación en macOS
Entornos de desarrollo
  1. 1. Introducción
  2. 2. Python Tutor
    1. 2.1 Historial
    2. 2.2 Presentación
  3. 3. IDLE: un entorno simple
    1. 3.1 Ejecutar IDLE en Windows 10
    2. 3.2 Ejecutar IDLE en macOS
    3. 3.3 Primeros pasos en IDLE
  4. 4. Pyzo: un entorno depurado y completo
    1. 4.1 Instalar Pyzo en Windows 10
    2. 4.2 Instalar Pyzo en macOS
    3. 4.3 Configurar la interfaz de Pyzo
  5. 5. Visual Studio Code
    1. 5.1 Instalar Visual Studio Code en Windows 10
    2. 5.2 Instalar Visual Studio Code en macOS
    3. 5.3 Configurar Visual Studio Code
    4. 5.4 Configurar las herramientas de depuración
  6. 6. ¿ Existen otros entornos de desarrollo ?
Estructura del lenguaje Python
  1. 1. Introducción
  2. 2. Las variables
    1. 2.1 Uso
    2. 2.2 Nomenclatura
    3. 2.3 ¡Crear variables!
    4. 2.4 Asignación
  3. 3. Los tipos de variables
    1. 3.1 ¿ Cuándo debe usarse un tipo entero ?
    2. 3.2 Las operaciones entre tipos diferentes
    3. 3.3 Conversión de un tipo en otro tipo
  4. 4. Las operaciones en las cadenas de caracteres
    1. 4.1 El estándar Unicode
    2. 4.2 Concatenar dos cadenas
    3. 4.3 Conocer el tamaño de una cadena
    4. 4.4 Acceder a un carácter y a una subcadena
    5. 4.5 Transformar una cadena en mayúsculas/minúsculas
    6. 4.6 Buscar y remplazar una cadena
    7. 4.7 Salida en pantalla con la función print()
    8. 4.8 Formato de salida
  5. 5. Las condiciones
    1. 5.1 Las condiciones simples
    2. 5.2 Las condiciones con pruebas múltiples
    3. 5.3 La inversión
    4. 5.4 La sintaxis de las pruebas
  6. 6. Las funciones built-in
    1. 6.1 Las funciones built-in de conversión
    2. 6.2 Las funciones built-in matématicas
    3. 6.3 La función built-in input para las entradas de teclado
    4. 6.4 Las funciones built-in avanzadas
  7. 7. El bucle for con índice
  8. 8. La estructura léxica de un lenguaje
  9. 9. Los mensajes de error
    1. 9.1 SyntaxError: invalid syntax
    2. 9.2 Variable desconocida
    3. 9.3 Los errores de indentación
    4. 9.4 Los errores de paréntesis
    5. 9.5 Olvido de un rango
    6. 9.6 Los errores no mostrados
  10. 10. Ejercicios de aplicación
    1. 10.1 Serie de cálculos
    2. 10.2 Serie de cálculos anidados
    3. 10.3 Serie de cálculos anidados con dos variables
    4. 10.4 Expresiones condicionales
    5. 10.5 Tipos y conversiones de tipo
    6. 10.6 Cálculos con las funciones matemáticas built-in
    7. 10.7 Cadenas de caracteres
    8. 10.8 Bucle for
    9. 10.9 Bucle for combinado con una condición
  11. 11. Ejercicios de entrenamiento
    1. 11.1 Mostrar una palabra al revés
    2. 11.2 Calcular el valor del polinomio 3x 2 + 5x + 1
    3. 11.3 Sumar los n primeros números enteros
    4. 11.4 Lo infinitamente pequeño
    5. 11.5 Contar los números de dos cifras que contengan el número 7
    6. 11.6 Contar las consonantes de una palabra
    7. 11.7 Codificar y descodificar un nombre
    8. 11.8 Mostrar las etiquetas de una página HTML
    9. 11.9 Mostrar el calendario del mes
    10. 11.10 Estadísticas con cara o cruz
    11. 11.11 Corrección de los ejercicios
  12. 12. Proyectos
    1. 12.1 El juego del ahorcado
    2. 12.2 El juego Lingo
Bucles, listas y entradas-salidas
  1. 1. Introducción
  2. 2. Las condiciones anidadas
    1. 2.1 La noción de bloques anidados
    2. 2.2 Anidar condiciones
    3. 2.3 Anidar bucles y condiciones
  3. 3. Listas
    1. 3.1 Crear una lista
    2. 3.2 Leer y editar una lista
    3. 3.3 Fusionar listas
    4. 3.4 Insertar y eliminar un elemento
    5. 3.5 Extraer una sublista
    6. 3.6 Comprobar la presencia y el número de apariciones de un elemento
    7. 3.7 Funciones built-in aplicadas a listas
    8. 3.8 Recorrer una lista con un bucle for
    9. 3.9 Copiar una lista
  4. 4. El bucle while y las entradas-salidas en archivos
    1. 4.1 El bucle while
    2. 4.2 Nunca remplazar un bucle for con un bucle while
    3. 4.3 Leer un archivo y escribir en él
  5. 5. Listas de caracteres y cadenas
    1. 5.1 Conversión entre listas y cadenas
    2. 5.2 Fraccionar una cadena de caracteres
  6. 6. Mensajes de error
    1. 6.1 Errores de corchetes
    2. 6.2 Errores de índice
    3. 6.3 Mezclando listas y números
  7. 7. Algunos trucos
    1. 7.1 Parámetros opcionales de la función print
    2. 7.2 El operador módulo %
    3. 7.3 El operador de potencia
    4. 7.4 Los operadores +=, -= y *=
  8. 8. Ejercicios de aplicación
    1. 8.1 Bucles anidados I
    2. 8.2 Bucles anidados II
    3. 8.3 Bucles anidados III
    4. 8.4 Recorriendo listas I
    5. 8.5 Recorriendo listas II
    6. 8.6 Manipulación de listas I
    7. 8.7 Manipulación de listas II
    8. 8.8 Extraer una sublista
    9. 8.9 Operaciones en las listas
    10. 8.10 Bucle while
  9. 9. Ejercicios de entrenamiento
    1. 9.1 Calcular la suma de los elementos de una lista
    2. 9.2 Repartir los números pares e impares en dos listas
    3. 9.3 Contar las apariciones de cada número en una lista
    4. 9.4 Mostrar una textura de malla
    5. 9.5 Calcular las raíces de un polinomio de segundo grado
    6. 9.6 Encontrar todos los números primos hasta 100
    7. 9.7 Comprobar si una lista está ordenada
    8. 9.8 Desplazar los elementos de una lista
    9. 9.9 Crear una tabla de comparación
    10. 9.10 Combinar dos listas ordenadas
    11. 9.11 Corrección de los ejercicios
  10. 10. Proyectos
    1. 10.1 Resolver un criptoritmo
    2. 10.2 Calcular el número Pi
    3. 10.3 Crear un chatbot
    4. 10.4 Haciendo arte ASCII
Funciones
  1. 1. Introducción
  2. 2. Asociación entre variables
    1. 2.1 El mecanismo de las asociaciones
    2. 2.2 Lista de listas
    3. 2.3 Copiar una lista de listas
  3. 3. Interés de las funciones
    1. 3.1 Roles y definición
    2. 3.2 Parámetros con nombre
    3. 3.3 Los valores predeterminados de los parámetros
    4. 3.4 Usar y devolver un argumento entero
    5. 3.5 Usar y devolver un argumento de tipo lista
  4. 4. Gestión de las variables
    1. 4.1 Variables globales
    2. 4.2 Variables locales
    3. 4.3 Conflicto entre variables locales y variables globales
    4. 4.4 Usar y devolver tuplas
  5. 5. Ejercicios de aplicación
    1. 5.1 Copias y modificaciones de listas
    2. 5.2 Creación de lista de listas I
    3. 5.3 Creación de lista de listas II
    4. 5.4 Creación de lista de listas III
    5. 5.5 Parámetros por defecto
    6. 5.6 Impacto en las variables globales
    7. 5.7 Función
    8. 5.8 Llamar una función desde otra función
    9. 5.9 Función recursiva
  6. 6. Preparación para los ejercicios
    1. 6.1 Una ventana de visualización gráfica
  7. 7. Ejercicios de entrenamiento
    1. 7.1 Calcular el mínimo de una lista
    2. 7.2 Dibujar en modo texto
    3. 7.3 Dibujar una casa bajo la nieve - Etapa 1
    4. 7.4 Dibujar una casa bajo la nieve - Etapa 2
    5. 7.5 Dibujando un fractal de Sierpinski - Etapa 1
    6. 7.6 Dibujar un fractal de Sierpinski - Etapa 2
    7. 7.7 Probar si un punto pertenece a un rectángulo
    8. 7.8 El juego de la vida - Etapa 1
    9. 7.9 El juego de la vida - Etapa 2
    10. 7.10 Colocación óptima de las antenas repetidoras - Etapa 1
    11. 7.11 Colocación óptima de las antenas repetidoras - Etapa 2
    12. 7.12 Disparar a los globos - Etapa 1
    13. 7.13 Disparar a los globos - Etapa 2
    14. 7.14 Calcular el plazo de amortización de un préstamo
    15. 7.15 Correcciones
  8. 8. Proyectos
    1. 8.1 El juego del tres en raya - Etapa 1
    2. 8.2 El juego del tres en raya - Etapa 2
    3. 8.3 El juego del tres en raya - Etapa 3
    4. 8.4 Crear un laberinto - Etapa 1
    5. 8.5 Crear un laberinto - Etapa 2
    6. 8.6 Generar un cartón de lotería - Etapa 1
    7. 8.7 Generar un cartón de lotería - Etapa 2
    8. 8.8 El juego de batalla naval - Etapa 1
    9. 8.9 El juego de batalla naval - Etapa 2
Concepción de un programa
  1. 1. Presentación
  2. 2. Principios de concepción
    1. 2.1 Los tres grandes principios: Identificar/Estructurar/Mejorar
    2. 2.2 Gestionar dependencias entre funciones
  3. 3. Variables
    1. 3.1 Identificar variables
      1. 3.1.1 Regla: 1 noción = 1 variable
      2. 3.1.2 Identificar una variable por la presencia de código repetitivo
    2. 3.2 Estructuración de las variables globales
      1. 3.2.1 Consecuencia de la ausencia de estructuración
      2. 3.2.2 La mejor actitud
    3. 3.3 Aislar las variables globales de las otras variables
  4. 4. Las funciones
    1. 4.1 Identificar una función
      1. 4.1.1 Requisito
      2. 4.1.2 Analizar o reestructurar código
      3. 4.1.3 El enfoque equivocado
      4. 4.1.4 Regla: 1 función = 1 acción/tratamiento/tema
      5. 4.1.5 Identificar una función por la presencia de código repetitivo
    2. 4.2 Mejorar las funciones
      1. 4.2.1 Primer ejemplo
      2. 4.2.2 Segundo ejemplo
  5. 5. Estructura jerárquica de un programa
    1. 5.1 La cuestión (comprobar)
    2. 5.2 Esquema de una jerarquía de llamadas a funciones
    3. 5.3 Identificar una jerarquía de llamadas a funciones
      1. 5.3.1 Los criterios equivocados
      2. 5.3.2 Principio 1: las subfunciones se ocupan de los subtemas
      3. 5.3.3 Principio 2: perímetros similares para funciones relacionadas
    4. 5.4 Entrenamiento
      1. 5.4.1 Ejercicio n.° 1
      2. 5.4.2 Ejercicio n.° 2
  6. 6. Caso práctico - El juego del laberinto y las momias
    1. 6.1 Presentación
      1. 6.1.1 Desde el punto de vista del principiante
      2. 6.1.2 Desde el punto de vista del formador/profesor
      3. 6.1.3 ¿ Recursos gráficos ?
    2. 6.2 El guion
      1. 6.2.1 Presentación
      2. 6.2.2 Información adicional
      3. 6.2.3 Las ambigüedades del escenario
    3. 6.3 Escribir el nivel principal
    4. 6.4 Cómo representar los datos del juego
      1. 6.4.1 Representar el laberinto
      2. 6.4.2 Cómo representar los elementos del juego
      3. 6.4.3 Variables de estado del juego
    5. 6.5 La gestión de la partida
    6. 6.6 Desplazando al protagonista
      1. 6.6.1 Desplazamiento en la cuadrícula de juego
      2. 6.6.2 Desplazamiento fluido en pantalla
    7. 6.7 IA de las momias
      1. 6.7.1 Idas y vueltas
      2. 6.7.2 Desplazamiento aleatorio - versión 1
      3. 6.7.3 Movimiento aleatorio - versión 2
    8. 6.8 Área de ataque de las momias
    9. 6.9 Balance del proyecto
    10. 6.10 Balance de Irene
    11. 6.11 Conclusión
Interfaces gráficas
  1. 1. Interacción humano-computadora
    1. 1.1 El nervio de la guerra: las IHC
    2. 1.2 Crear la ventana principal
    3. 1.3 El bucle de eventos mainloop()
    4. 1.4 Crear un botón
    5. 1.5 Vincular componentes a eventos
    6. 1.6 Crear una etiqueta
    7. 1.7 Crear una zona de texto
    8. 1.8 Crear una casilla de verificación
    9. 1.9 Crear botones de opción
    10. 1.10 Crear un selector de valor
    11. 1.11 Crear una lista de opciones
    12. 1.12 Crear una lista desplegable
    13. 1.13 Crear una zona de dibujo
    14. 1.14 Trazados dinámicos en un lienzo
    15. 1.15 Posicionar componentes
    16. 1.16 Agrupar componentes
    17. 1.17 Paneles redimensionables
    18. 1.18 Consulte la documentación
    19. 1.19 Lanzamiento de dados
    20. 1.20 Aplicación de dibujo
    21. 1.21 Gestor de listas
  2. 2. Trazados científicos
    1. 2.1 Trazar funciones
    2. 2.2 Trazar conjuntos de puntos
    3. 2.3 Dibujar líneas poligonales
    4. 2.4 Trazar rangos de nivel de intensidad
Crear videojuegos con Pygame
  1. 1. Introducción
    1. 1.1 Contexto
    2. 1.2 La estructura de un juego interactivo
    3. 1.3 Separación de la lógica y la visualización
  2. 2. Proyecto de la bola que rebota
    1. 2.1 Presentación del código
    2. 2.2 Modificación del juego actual
    3. 2.3 Consejos para completar el código
  3. 3. El Proyecto Pong
    1. 3.1 Historia
    2. 3.2 Primera ejecución
    3. 3.3 Presentación del código
    4. 3.4 Mejora del juego actual
    5. 3.5 Consejos para completar el código
  4. 4. El proyecto Snake
    1. 4.1 Histórico
    2. 4.2 Primera ejecución
    3. 4.3 Presentación del código
    4. 4.4 Control de la serpiente
    5. 4.5 Gestión de las colisiones
    6. 4.6 Consejos para completar el código
    7. 4.7 Renderizado final
  5. 5. Documentación en línea de Pygame
    1. 5.1 La lista de términos técnicos
    2. 5.2 Acceso a la documentación en línea
  6. 6. El proyecto Gauntlet
    1. 6.1 Histórico
    2. 6.2 Gestión del laberintos
    3. 6.3 Gestión de personajes en pantalla
    4. 6.4 Consejos para completar el código
  7. 7. El proyecto 1943
    1. 7.1 Histórico
    2. 7.2 Primera ejecución
    3. 7.3 Gestión del mar
    4. 7.4 Gestión de los disparos desde un barco
    5. 7.5 Gestión de disparos desde el avión
    6. 7.6 Gestión de las colisiones
    7. 7.7 Gestión de flotas de barcos
    8. 7.8 Renderizado final
  8. 8. El Proyecto Iluminación
    1. 8.1 Contexto
    2. 8.2 Recordatorio de matemáticas
    3. 8.3 Consejos para completar el código
  9. 9. El Proyecto Tetris
    1. 9.1 Histórico
    2. 9.2 Primer lanzamiento
    3. 9.3 Presentación del código
    4. 9.4 Consejos para completar el código
    5. 9.5 Resultado final
Python y la inteligencia artificial
  1. 1. Presentación
    1. 1.1 Historia
    2. 1.2 Principio de funcionamiento de una neurona
    3. 1.3 Neurona y aprendizaje
    4. 1.4 Sobreaprendizaje
    5. 1.5 Redes neuronales multicapa
  2. 2. El problema de la clasificación de imágenes
    1. 2.1 Presentación
    2. 2.2 Imagen y datos
    3. 2.3 Bancos de imágenes
    4. 2.4 La función de error
    5. 2.5 Instalación del entorno Keras
    6. 2.6 Uso de MNIST
    7. 2.7 Primer aprendizaje
    8. 2.8 Mejora de la eficacia
  3. 3. Inteligencia artificial para juegos
    1. 3.1 Funciones disponibles
    2. 3.2 La idea general
    3. 3.3 Implementación
    4. 3.4 Últimos consejos
    5. 3.5 Comportamiento irracional de la IA
  4. índice

Autor

Lilian BUZERMás información

Profesor y doctor en ingeniería, Lilian BUZER enseña programación y algoritmos en el ESIEE-París en ciclo de preparación y en ciclo de ingeniero desde hace más de 20 años. Ha fomentado más de 150 proyectos de alumnos a través de juegos, de grafismo, de algoritmos y de Inteligencia Artificial y ha introducido desde muy pronto la pedagogía por proyecto en sus clases. Este libro sobre el aprendizaje de Python está impregnado de su pedagogía.

Características

  • Nivel Experto a Medio
  • Número de páginas 648 páginas
  • Publicación noviembre 2022
    • Encuadernación rústica - 17 x 21 cm
    • ISBN: 978-2-409-03885-3
    • EAN: 9782409038853
    • Ref. ENI: RIT2PYTPR
  • Nivel Experto a Medio
  • Publicación noviembre 2022
    • HTML
    • ISBN: 978-2-409-03886-0
    • EAN: 9782409038860
    • Ref. ENI: LNRIT2PYTPR

Descargas

  • Descargar los ejemplos del libro (37 Ko)

Novedades

Ver más