viernes, 29 de agosto de 2025

COMPLEMENTO CLASE TEORICA PYTHON

 

COMPLEMENTO CLASE TEORICA PYTHON

TRANSCRIBA EN SU CUADERNO Y PREPARESE PARA  EJERCICIOS Y EVALUACION ESCRITA PARA LA PROXIMA CLASE DE TODO LO VISTO HASTA ESTE MOMENTO INCLUYENDO ESTE MATERIAL.


📘 Python: Variables y Tipos de Datos

🎯 Objetivo de la clase

  • Comprender qué es una variable.
  • Reconocer los principales tipos de datos en Python.
  • Aprender a usar variables en ejemplos simples.

1. ¿Qué es una variable?

Una variable es como una caja donde guardamos información para usarla más tarde.

  • Esa caja tiene un nombre (ejemplo: edad, nombre, nota).
  • Lo que guardamos dentro puede cambiar (por eso se llama variable).

👉 Ejemplo:

nombre = "María"

edad = 14

nota = 4.5

  • nombre guarda un texto.
  • edad guarda un número entero.
  • nota guarda un número decimal.

2. Tipos de datos principales en Python

En Python existen varios tipos de datos. Los más usados en este nivel son:

  1. Texto (str) – se escribe entre comillas.

saludo = "Hola"

  1. Números enteros (int) – sin decimales.

anio = 2025

  1. Números decimales (float) – con decimales.

promedio = 3.8

  1. Booleanos (bool) – verdadero o falso.

aprobado = True


 

3. Reglas para nombres de variables

  • No pueden comenzar con número. 1variable
  • No pueden tener espacios. mi variable
  • Pueden tener guion bajo. mi_variable
  • Deben tener un nombre claro. edad, nombre_alumno

4. Ejemplo en clase

nombre = "Ana"

edad = 13

nota = 4.2

aprobado = True

 

print("Nombre:", nombre)

print("Edad:", edad)

print("Nota:", nota)

print("¿Aprobado?:", aprobado)

🔎 ¿qué tipo de dato es cada variable?


5. Mini práctica

escriban en el cuaderno tres variables personales:

  • Su nombre (texto).
  • Su edad (entero).
  • Su nota favorita (decimal).

Y luego en Python:

mi_nombre = "..."

mi_edad = ...

mi_nota = ...

 

print("Me llamo", mi_nombre, "tengo", mi_edad, "años y mi nota favorita es", mi_nota)


 

🏠 Tarea para casa

  1. Crea un programa en Python que guarde en variables:
    • El nombre de tu mejor amigo/a.
    • Su edad.
    • Una nota decimal inventada.
  2. Muestra un mensaje en pantalla así:

Mi mejor amigo se llama ______, tiene ___ años y su nota es ___

👉 Ejemplo esperado en Python:

amigo = "Carlos"

edad_amigo = 14

nota_amigo = 4.8

 

print("Mi mejor amigo se llama", amigo, "tiene", edad_amigo, "años y su nota es", nota_amigo)

 


lunes, 25 de agosto de 2025

LA ROBOTICA Y LA TECNOLOGIA PARTE 1

 LA ROBOTICA Y LA TECNOLOGIA PARTE 1

La robótica es un campo interdisciplinario que combina mecánica, electrónica, informática e inteligencia artificial para crear máquinas capaces de realizar tareas autónomas o asistidas. Una parte fundamental de cualquier proyecto robótico es la placa de desarrollo, que actúa como el “cerebro” del robot, controlando sensores, actuadores y la comunicación con otros dispositivos.

Entre las placas más populares se encuentra Arduino, conocida por su facilidad de uso y gran comunidad de apoyo. Arduino cuenta con varios modelos, como el Arduino Uno, que tiene 14 pines digitales, 6 entradas analógicas y puede programarse en C/C++ mediante el entorno Arduino IDE. Es ideal para proyectos educativos y prototipos sencillos, como controlar servomotores o luces LED.

Otra placa muy utilizada es el NodeMCU, basada en el ESP8266, que incluye conectividad Wi-Fi, lo que permite crear robots conectados a internet o controlables a distancia. El NodeMCU se programa principalmente con Lua o C++ usando el Arduino IDE, y es perfecto para proyectos IoT, como un robot que envíe datos de sensores a un servidor web.

También están las placas más avanzadas, como el Raspberry Pi, que en realidad es un miniordenador. Puede ejecutar sistemas operativos completos como Linux y programarse en Python, C++, o incluso Java, lo que permite desarrollar robots complejos con visión por computadora, aprendizaje automático o control de múltiples actuadores de manera simultánea.

Cada placa tiene características únicas que determinan su uso: Arduino es excelente para control directo de hardware y aprendizaje básico; NodeMCU destaca por su conectividad y proyectos IoT; Raspberry Pi permite integrar software más avanzado y procesamiento de datos complejo. Conocer las diferencias entre estas placas y sus lenguajes de programación es clave para diseñar robots eficientes y adecuados a cada necesidad.

Ejemplos de proyectos:

  • Arduino Uno: robot seguidor de línea con sensores infrarrojos.

  • NodeMCU: estación meteorológica que envía datos a un servidor web.

  • Raspberry Pi: robot con cámara capaz de reconocer objetos usando inteligencia artificial.


1. Arduino

  • Características: Microcontrolador simple, bajo costo, gran comunidad, pines digitales y analógicos para sensores y actuadores.

  • Lenguajes: C/C++ (Arduino IDE).

  • Ejemplos de proyectos:

    • Robot seguidor de línea.

    • Controlador de luces RGB por Bluetooth.

    • Brazo robótico simple.

2. NodeMCU (ESP8266/ESP32)

  • Características: Wi-Fi integrado, más memoria que Arduino, algunos modelos (ESP32) tienen Bluetooth, ADC y DAC internos.

  • Lenguajes: C/C++ (Arduino IDE), Lua, MicroPython.

  • Ejemplos de proyectos:

    • Robot controlado por internet desde un celular.

    • Sensor de temperatura que envía datos a la nube.

    • Automatización del hogar (luces, persianas).

3. Raspberry Pi

  • Características: Miniordenador, sistema operativo Linux, USB, HDMI, cámara, gran capacidad de procesamiento.

  • Lenguajes: Python, C/C++, Java, Scratch.

  • Ejemplos de proyectos:

    • Robot con visión artificial que reconoce objetos.

    • Estación meteorológica con gráficos en tiempo real.

    • Robot autónomo que navega por un laberinto usando sensores y cámara.

4. BeagleBone

  • Características: Microordenador más orientado a proyectos industriales, con muchos pines GPIO y soporte para tiempo real.

  • Lenguajes: Python, C/C++, JavaScript (Node.js).

  • Ejemplos de proyectos:

    • Control de brazo robótico avanzado.

    • Sistemas de monitoreo industrial.

5. Micro:bit

  • Características: Placa educativa, fácil de usar, con sensores integrados de temperatura, acelerómetro, brújula y botones.

  • Lenguajes: Python (MicroPython), JavaScript (MakeCode).

  • Ejemplos de proyectos:

    • Mini robot que sigue líneas.

    • Juego de reacción con LEDs.


Lenguajes y entornos comunes

  • C/C++ (Arduino IDE): Ideal para control directo de hardware, tiempo real y proyectos educativos.

  • Python / MicroPython: Popular en Raspberry Pi y NodeMCU para proyectos IoT y aprendizaje de programación más avanzado.

  • Lua: Usado principalmente en NodeMCU para scripts rápidos.

  • JavaScript / Node.js: Algunos microordenadores como BeagleBone soportan proyectos conectados a la web.


Consejos prácticos

  • Para proyectos simples y educativos, Arduino y Micro:bit son ideales.

  • Para robots conectados a internet o proyectos IoT, NodeMCU o ESP32 son más adecuados.

  • Para proyectos complejos con visión, inteligencia artificial o procesamiento pesado, Raspberry Pi o BeagleBone son la mejor opción.


lunes, 18 de agosto de 2025

FUNDAMENTOS DE PYTHON TIPOS Y ENTRADA DE DATOS

 TIPOS Y ENTRADA DE DATOS

ACTIVIDAD, lee bien lo que haremos!

Escribe en tu cuaderno el tema del Modulo 2 subtema 2.1 hasta justo antes del ejercicio ficha personal, el ejercicio como tal debes copiarlo y pegarlo en vscode para su explicación, tambien debes escribir en tu cuaderno el subtema 2.2 hasta justo antes del ejercicio calculadora imc, su ejercicio lo dejaremos tambien para copiar y pegar en vscode y su explicacion, asi que tienes 10 minutos para copiar estos dos subtemas.


Módulo 2: Fundamentos de Python

2.1. Variables y Tipos de Datos

Teoría:

Una variable es como una caja con una etiqueta donde guardamos información. La "etiqueta" es el nombre de la variable y lo que está "dentro" es el valor.

  • String (str): Cadenas de texto. Siempre van entre comillas (" o '). Ejemplo: nombre = "Ana".
  • Integer (int): Números enteros, sin decimales. Ejemplo: edad = 30.
  • Float (float): Números con decimales. Se usa el punto . como separador. Ejemplo: altura = 1.75.
  • Boolean (bool): Representa un valor de verdad. Solo puede ser True o False. Ejemplo: es_estudiante = True.
  • Función type(): Nos dice de qué tipo es una variable.

Ejercicio: Ficha Personal

  1. Crea un nuevo archivo llamado ficha_personal.py.
  2. Escribe el siguiente código, reemplazando los valores con los tuyos:


# Declaramos variables con diferentes tipos de datos

nombre_completo = "Carlos Solis"

edad = 28

altura_metros = 1.82

es_programador = True

 

# Mostramos los valores y sus tipos por pantalla

print("Nombre:", nombre_completo)

print("Tipo de dato de nombre:", type(nombre_completo))

 

print("Edad:", edad)

print("Tipo de dato de edad:", type(edad))

 

print("Altura:", altura_metros)

print("Tipo de dato de altura:", type(altura_metros))

 

print("¿Es programador?:", es_programador)

print("Tipo de dato de es_programador:", type(es_programador))

  1. Guarda el archivo y ejecútalo en la terminal: python ficha_personal.py.
  2. Observa cómo el programa imprime cada valor y la clase a la que pertenece (<class 'str'>, <class 'int'>, etc.).

2.2. Entrada del Usuario y Conversión de Tipos

Teoría:

Para que nuestros programas sean interactivos, necesitamos pedirle información al usuario.

  • Función input(): Detiene la ejecución del programa, muestra un mensaje en la terminal y espera a que el usuario escriba algo y presione Enter. Ya la hemos visto dos veces en clases anteriores
  • ¡Importante! La función input() siempre devuelve el dato como un string (texto). Si necesitamos usarlo como un número, debemos convertirlo.
  • Conversión de tipos (Casting):
    • int(variable): Convierte la variable a un número entero.
    • float(variable): Convierte la variable a un número flotante.
    • str(variable): Convierte la variable a una cadena de texto.

Ejercicio: Calculadora de IMC (Índice de Masa Corporal)

  1. Crea un archivo llamado calculadora_imc.py.
  2. Escribe el siguiente código:


# Título del programa

print("--- Calculadora de Índice de Masa Corporal (IMC) ---")

 

# Pedimos al usuario su peso y lo convertimos a float

peso_str = input("Introduce tu peso en kg (ej: 70.5): ")

peso_kg = float(peso_str)

 

# Pedimos al usuario su altura y la convertimos a float

altura_str = input("Introduce tu altura en metros (ej: 1.75): ")

altura_m = float(altura_str)

 

# Fórmula del IMC: peso / (altura * altura)

imc = peso_kg / (altura_m ** 2)

 

# Mostramos el resultado. El :.2f formatea el número para mostrar solo 2 decimales.

print(f"Tu Índice de Masa Corporal (IMC) es: {imc:.2f}")

  1. Guarda y ejecuta el script: python calculadora_imc.py.
  2. Prueba a introducir tu peso y altura. ¿Qué pasa si introduces texto en lugar de números? (¡Dará un error, y eso está bien por ahora!).
  3. escribe a continuacion en tu cuaderno cuales son los IMC estandarizados para la población (los necesitaras mas adelante, asi que escribelos)

YA QUE HAS TERMINADO LOS DOS EJERCICIOS DEBES COPIAR EL SIGUIENTE CONTNEIDO EN TU CUADERNO.

Los Índices de Masa Corporal (IMC) estandarizados que se usan como referencia (según la OMS) son:

Adultos (≥ 20 años)

  • < 18.5Bajo peso

  • 18.5 – 24.9Normopeso

  • 25.0 – 29.9Sobrepeso

  • ≥ 30.0Obesidad

    • 30.0 – 34.9 → Obesidad grado I

    • 35.0 – 39.9 → Obesidad grado II

    • ≥ 40.0 → Obesidad grado III (mórbida)

Niños y adolescentes (5–19 años)

Se usan tablas de percentiles o puntajes Z (z-score):

  • IMC < -2 DE (desviaciones estándar) → Delgadez

  • IMC ≥ -2 DE y ≤ +1 DEPeso normal

  • IMC > +1 DE y ≤ +2 DESobrepeso

  • IMC > +2 DEObesidad

Menores de 5 años

  • IMC < -2 DEBajo peso para la talla

  • IMC ≥ -2 DE y ≤ +2 DEPeso adecuado para la talla

  • IMC > +2 DESobrepeso u obesidad

viernes, 15 de agosto de 2025

PLAN DE CLASES PYTHON BASICO

PLAN DE CLASES: PYTHON BÁSICO CON VISUAL STUDIO CODE

Objetivo General: Al finalizar el curso, el estudiante será capaz de escribir y ejecutar scripts básicos de Python, comprender los conceptos fundamentales del lenguaje y utilizar Visual Studio Code como su entorno de desarrollo.

Requisitos Previos:

  • Computadora con Visual Studio Code instalado.
  • Python instalado en el sistema.
  • Conocimientos básicos de manejo de archivos y carpetas.

Módulo 1: Introducción y Configuración del Entorno (2 horas)

Objetivo: Familiarizar al estudiante con Visual Studio Code, la terminal integrada y asegurarse de que el entorno de Python esté correctamente configurado.

Contenido:

  • 1.1. Bienvenida y Presentación del Curso:
    • Introducción a Python: ¿Qué es y para qué se utiliza?
    • Introducción a Visual Studio Code (VS Code): un editor de código potente.
    • Metodología del curso: enfoque práctico desde la terminal.
  • 1.2. Configuración de Visual Studio Code para Python:
    • Instalación de la extensión de Python de Microsoft.
    • Recorrido por la interfaz de VS Code: explorador de archivos, editor de texto y terminal.
    • Cómo abrir y usar la terminal integrada (Ctrl+ñ o View > Terminal).
  • 1.3. "¡Hola, Mundo!" en Python:
    • Crear la primera carpeta de proyecto y el primer archivo (hola_mundo.py).
    • Escribir la primera línea de código: print("¡Hola, Mundo!").
    • Ejecutar el script desde la terminal de VS Code usando el comando python nombre_del_archivo.py.
    • Verificar la instalación de Python y su versión con python --version o python3 --version.

Módulo 2: Fundamentos de Python (4 horas)

Objetivo: Introducir los conceptos básicos del lenguaje de programación Python.

Contenido:

  • 2.1. Variables y Tipos de Datos:
    • ¿Qué es una variable? Reglas para nombrar variables.
    • Tipos de datos primitivos:
      • Strings (cadenas de texto): nombre = "Juan"
      • Integers (números enteros): edad = 25
      • Floats (números flotantes): precio = 19.99
      • Booleans (booleanos): es_estudiante = True
    • Uso de la función print() para mostrar variables.
    • La función type() para verificar el tipo de dato de una variable.
  • 2.2. Operadores:
    • Aritméticos: +, -, *, /, % (módulo), ** (potencia).
    • De comparación: ==, !=, >, <, >=, <=.
    • Lógicos: and, or, not.
    • Práctica: Escribir un script que realice cálculos básicos y los muestre en la terminal.
  • 2.3. Entrada del Usuario:
    • Uso de la función input() para capturar datos desde la terminal.
    • Conversión de tipos de datos (casting): int(), float(), str().
    • Práctica: Crear un programa que pida el nombre y la edad al usuario y muestre un saludo personalizado.

Módulo 3: Estructuras de Control (4 horas)

Objetivo: Enseñar a los estudiantes cómo controlar el flujo de ejecución de sus programas.

Contenido:

  • 3.1. Condicionales if, elif, else:
    • Sintaxis y uso para la toma de decisiones.
    • Indentación: la regla fundamental de Python.
    • Práctica: Escribir un programa que determine si un número es par o impar, o que verifique si un usuario es mayor de edad.
  • 3.2. Bucles for:
    • Iterar sobre secuencias (como rangos de números con range()).
    • Sintaxis y ejemplos prácticos.
    • Práctica: Crear un script que imprima los números del 1 al 10 o una tabla de multiplicar.
  • 3.3. Bucles while:
    • Ejecutar un bloque de código mientras una condición sea verdadera.
    • Importancia de la condición de parada para evitar bucles infinitos.
    • Práctica: Desarrollar un pequeño juego de adivinar un número.

Módulo 4: Estructuras de Datos (4 horas)

Objetivo: Introducir las colecciones de datos más comunes en Python.

Contenido:

  • 4.1. Listas:
    • Creación de listas y almacenamiento de múltiples elementos.
    • Acceso a elementos mediante índices.
    • Métodos comunes: append(), len(), pop().
    • Uso de bucles for para recorrer listas.
    • Práctica: Crear una lista de compras y permitir al usuario agregar y quitar elementos.
  • 4.2. Diccionarios (Opcional, según el ritmo):
    • Estructura de clave-valor.
    • Creación y acceso a valores a través de sus claves.
    • Práctica: Modelar un objeto simple como un "usuario" con nombre, edad y email usando un diccionario.

Módulo 5: Funciones y Modularidad (3 horas)

Objetivo: Enseñar a los estudiantes a organizar su código en bloques reutilizables.

Contenido:

  • 5.1. Definición y Llamada de Funciones:
    • Sintaxis: def nombre_funcion():.
    • La importancia de no repetir código (principio DRY).
  • 5.2. Parámetros y Retorno de Valores:
    • Pasar información a las funciones a través de parámetros.
    • Uso de return para devolver un resultado.
    • Práctica: Crear funciones que realicen operaciones matemáticas (sumar, restar) y devuelvan el resultado.
  • 5.3. Importación de Módulos (Básico):
    • Introducción a la biblioteca estándar de Python.
    • Cómo importar y usar módulos, por ejemplo, el módulo random para generar números aleatorios.
    • Práctica: Mejorar el juego de adivinar el número usando random.randint().

Módulo 6: Proyecto Final (2-3 horas)

Objetivo: Aplicar todos los conceptos aprendidos en un pequeño proyecto práctico.

Ideas de Proyectos:

  • Calculadora Básica en la Terminal: Que solicite dos números y una operación (+, -, *, /) y muestre el resultado.
  • Generador de Historias Cortas: Que pida al usuario varias palabras (un sustantivo, un verbo, un adjetivo) y las inserte en una plantilla de historia.
  • Pequeño Quiz: Un programa que haga una serie de preguntas y al final muestre la puntuación del usuario.

Pasos del Proyecto:

  1. Planificación: Definir el objetivo del programa.
  2. Escritura del Código: Aplicar variables, bucles, condicionales y funciones.
  3. Pruebas: Ejecutar y depurar el código desde la terminal de VS Code.
  4. Presentación: Cada estudiante muestra y explica su proyecto.

 

 

 DESARROLLO DEL PLAN

Módulo 1: Introducción y Configuración del Entorno

Teoría:

  • ¿Qué es Python? Es un lenguaje de programación de alto nivel, muy popular por su sintaxis simple y legible, que se asemeja al inglés. Se usa en desarrollo web, análisis de datos, inteligencia artificial, scripting y mucho más.
  • ¿Qué es Visual Studio Code (VS Code)? Es un editor de código fuente gratuito y muy potente. No es un IDE completo como otros, pero se puede personalizar con "extensiones" para que funcione con casi cualquier lenguaje.
  • Nuestro Entorno de Trabajo:
    1. Explorador de Archivos (Barra lateral izquierda): Aquí crearemos y veremos nuestras carpetas y archivos .py.
    2. Editor de Texto (Área principal): Aquí escribiremos nuestro código Python.
    3. Terminal Integrada (Panel inferior): Es una línea de comandos dentro de VS Code. La usaremos para darle a Python la orden de ejecutar nuestros archivos de código. Es nuestro centro de operaciones.

Práctica y Ejercicios:

  1. Configurar el Entorno:
    • Abre VS Code.
    • Ve al icono de Extensiones (parecen 4 cuadrados).
    • Busca "Python" y instala la extensión oficial de Microsoft (generalmente la primera).
    • Abre la terminal con el atajo Ctrl + ñ (o desde el menú View > Terminal).
  2. Ejercicio 1: Tu Primer Script "Hola, Mundo"
    • En tu computadora, crea una carpeta llamada curso_python.
    • En VS Code, ve a File > Open Folder... y abre la carpeta curso_python.
    • En el explorador de archivos de VS Code, haz clic en el icono de "Nuevo Archivo" y nómbralo hola_mundo.py.
    • En el editor, escribe la siguiente línea de código:

codePython

print("¡Hola, Mundo desde la terminal de VS Code!")

    • Guarda el archivo (Ctrl + S).
    • Ahora, ve a la terminal. Asegúrate de que estás dentro de la carpeta curso_python. Deberías ver algo como PS C:\Users\TuUsuario\curso_python>.
    • Escribe el siguiente comando y presiona Enter:

codeBash

python hola_mundo.py

(Nota: Si usas macOS o algunas distribuciones de Linux, puede que necesites usar python3 en lugar de python).

    • Resultado esperado: La terminal deberá imprimir el texto: ¡Hola, Mundo desde la terminal de VS Code!
  1. Ejercicio 2: Verificar la Versión de Python
    • En la misma terminal, escribe el comando:

codeBash

python --version

    • Resultado esperado: La terminal te mostrará la versión de Python que tienes instalada (ej. Python 3.9.7). ¡Esto confirma que todo está listo para empezar!

Módulo 2: Fundamentos de Python

2.1. Variables y Tipos de Datos

Teoría:

Una variable es como una caja con una etiqueta donde guardamos información. La "etiqueta" es el nombre de la variable y lo que está "dentro" es el valor.

  • String (str): Cadenas de texto. Siempre van entre comillas (" o '). Ejemplo: nombre = "Ana".
  • Integer (int): Números enteros, sin decimales. Ejemplo: edad = 30.
  • Float (float): Números con decimales. Se usa el punto . como separador. Ejemplo: altura = 1.75.
  • Boolean (bool): Representa un valor de verdad. Solo puede ser True o False. Ejemplo: es_estudiante = True.
  • Función type(): Nos dice de qué tipo es una variable.

Ejercicio: Ficha Personal

  1. Crea un nuevo archivo llamado ficha_personal.py.
  2. Escribe el siguiente código, reemplazando los valores con los tuyos:

codePython

# Declaramos variables con diferentes tipos de datos

nombre_completo = "Carlos Solis"

edad = 28

altura_metros = 1.82

es_programador = True

 

# Mostramos los valores y sus tipos por pantalla

print("Nombre:", nombre_completo)

print("Tipo de dato de nombre:", type(nombre_completo))

 

print("Edad:", edad)

print("Tipo de dato de edad:", type(edad))

 

print("Altura:", altura_metros)

print("Tipo de dato de altura:", type(altura_metros))

 

print("¿Es programador?:", es_programador)

print("Tipo de dato de es_programador:", type(es_programador))

  1. Guarda el archivo y ejecútalo en la terminal: python ficha_personal.py.
  2. Observa cómo el programa imprime cada valor y la clase a la que pertenece (<class 'str'>, <class 'int'>, etc.).

2.2. Entrada del Usuario y Conversión de Tipos

Teoría:

Para que nuestros programas sean interactivos, necesitamos pedirle información al usuario.

  • Función input(): Detiene la ejecución del programa, muestra un mensaje en la terminal y espera a que el usuario escriba algo y presione Enter.
  • ¡Importante! La función input() siempre devuelve el dato como un string (texto). Si necesitamos usarlo como un número, debemos convertirlo.
  • Conversión de tipos (Casting):
    • int(variable): Convierte la variable a un número entero.
    • float(variable): Convierte la variable a un número flotante.
    • str(variable): Convierte la variable a una cadena de texto.

Ejercicio: Calculadora de IMC (Índice de Masa Corporal)

  1. Crea un archivo llamado calculadora_imc.py.
  2. Escribe el siguiente código:

codePython

# Título del programa

print("--- Calculadora de Índice de Masa Corporal (IMC) ---")

 

# Pedimos al usuario su peso y lo convertimos a float

peso_str = input("Introduce tu peso en kg (ej: 70.5): ")

peso_kg = float(peso_str)

 

# Pedimos al usuario su altura y la convertimos a float

altura_str = input("Introduce tu altura en metros (ej: 1.75): ")

altura_m = float(altura_str)

 

# Fórmula del IMC: peso / (altura * altura)

imc = peso_kg / (altura_m ** 2)

 

# Mostramos el resultado. El :.2f formatea el número para mostrar solo 2 decimales.

print(f"Tu Índice de Masa Corporal (IMC) es: {imc:.2f}")

  1. Guarda y ejecuta el script: python calculadora_imc.py.
  2. Prueba a introducir tu peso y altura. ¿Qué pasa si introduces texto en lugar de números? (¡Dará un error, y eso está bien por ahora!).

Módulo 3: Estructuras de Control

3.1. Condicionales if, elif, else

Teoría:

Los condicionales nos permiten ejecutar un bloque de código solo si se cumple una cierta condición. Son la base para que nuestros programas tomen decisiones. La indentación (el espacio al principio de la línea) es crucial en Python; es la que define qué código pertenece al if.

  • if condicion:: Si la condición es True, se ejecuta el bloque de código indentado debajo.
  • elif otra_condicion:: (Contracción de "else if") Si el if anterior fue False, se comprueba esta nueva condición.
  • else:: Si ninguna de las condiciones anteriores fue True, se ejecuta este bloque de código.

Ejercicio: Verificador de Acceso

  1. Crea un archivo llamado verificador_acceso.py.
  2. Escribe el código:

codePython

edad_usuario = int(input("Por favor, introduce tu edad: "))

 

if edad_usuario >= 18:

    print("¡Acceso permitido! Eres mayor de edad.")

    # Este bloque solo se ejecuta si la edad es 18 o más

    print("Bienvenido a la sección para adultos.")

else:

    print("Acceso denegado. Eres menor de edad.")

    # Este bloque solo se ejecuta si la edad es menor que 18

    diferencia = 18 - edad_usuario

    print(f"Te faltan {diferencia} años para poder entrar.")

 

print("--- Fin del programa ---")

  1. Ejecútalo varias veces con diferentes edades (ej. 25, 18, 15) para ver cómo cambia el flujo del programa.

3.2. Bucles for y while

Teoría:

Los bucles nos permiten repetir un bloque de código varias veces.

  • Bucle for: Se usa cuando sabemos cuántas veces queremos repetir el código. A menudo se usa con range(numero) para repetir el bucle un número específico de veces. range(1, 11) genera números del 1 al 10.
  • Bucle while: Se usa cuando queremos repetir el código mientras una condición sea verdadera. Es fundamental que algo dentro del bucle pueda hacer que la condición se vuelva False para evitar un bucle infinito.

Ejercicio 1: Tabla de Multiplicar (con for)

  1. Crea un archivo tabla_multiplicar.py.
  2. Escribe este código:

codePython

numero = int(input("Introduce un número para ver su tabla de multiplicar: "))

 

print(f"--- Tabla del {numero} ---")

 

# El bucle for recorrerá los números del 1 al 10

for i in range(1, 11):

    resultado = numero * i

    print(f"{numero} x {i} = {resultado}")

```3.  Ejecútalo y prueba con diferentes números.

Ejercicio 2: Pequeño Menú Interactivo (con while)

  1. Crea un archivo menu.py.
  2. Escribe el código:

codePython

opcion = "" # Inicializamos la variable

 

# El bucle se repetirá mientras la opción no sea "salir"

while opcion.lower() != "salir":

    print("\n--- MENÚ ---")

    print("Escribe 'hola' para recibir un saludo.")

    print("Escribe 'adios' para una despedida.")

    print("Escribe 'salir' para terminar el programa.")

 

    opcion = input("Elige una opción: ")

 

    if opcion.lower() == "hola":

        print("¡Hola! ¿Qué tal estás?")

    elif opcion.lower() == "adios":

        print("¡Hasta la próxima!")

    elif opcion.lower() == "salir":

        print("Cerrando el programa...")

    else:

        print("Opción no reconocida, por favor intenta de nuevo.")

  1. Ejecuta el programa y prueba las diferentes opciones. Observa cómo el bucle while mantiene el programa "vivo" hasta que escribes "salir".

Módulo 4: Estructuras de Datos - Listas

Teoría:

Las listas son colecciones ordenadas de elementos. Permiten guardar múltiples valores en una sola variable.

  • Creación: Se crean con corchetes [], separando los elementos con comas. Ej: mis_frutas = ["manzana", "banana", "cereza"].
  • Acceso: Se accede a los elementos por su índice (posición), que empieza en 0. Ej: mis_frutas[0] devuelve "manzana".
  • Métodos útiles:
    • lista.append(elemento): Añade un elemento al final de la lista.
    • len(lista): Devuelve el número de elementos en la lista.
    • lista.pop(): Elimina y devuelve el último elemento de la lista.

Ejercicio: Lista de Tareas (To-Do List)

  1. Crea un archivo todo_list.py.
  2. Escribe el código:

codePython

tareas = [] # Empezamos con una lista vacía

opcion = 0

 

while opcion != 4:

    # Imprimimos la lista de tareas actual en cada iteración

    print("\n--- TAREAS PENDIENTES ---")

    if len(tareas) == 0:

        print("No tienes tareas pendientes.")

    else:

        for i in range(len(tareas)):

            print(f"{i + 1}. {tareas[i]}")

 

    print("\n--- MENÚ ---")

    print("1. Agregar tarea")

    print("2. Completar última tarea")

    print("3. Ver tareas")

    print("4. Salir")

 

    opcion_str = input("Elige una opción (1-4): ")

 

    # Evitamos errores si el usuario no introduce un número

    if opcion_str.isdigit():

        opcion = int(opcion_str)

 

        if opcion == 1:

            nueva_tarea = input("Escribe la nueva tarea: ")

            tareas.append(nueva_tarea)

            print("¡Tarea añadida!")

        elif opcion == 2:

            if len(tareas) > 0:

                tarea_completada = tareas.pop()

                print(f"¡Tarea '{tarea_completada}' completada y eliminada!")

            else:

                print("No hay tareas que completar.")

        elif opcion == 3:

            # La lista ya se muestra al inicio del bucle

            continue

        elif opcion == 4:

            print("¡Adiós!")

        else:

            print("Opción no válida.")

    else:

        print("Por favor, introduce solo un número.")

  1. Ejecuta el programa y prueba a añadir tareas, completarlas y salir. Este ejercicio integra listas, bucles y condicionales.

Módulo 5: Funciones y Modularidad

Teoría:

Las funciones son bloques de código reutilizables a los que les damos un nombre. Ayudan a organizar el código, hacerlo más legible y evitar la repetición.

  • Definición: Se usa la palabra clave def, seguida del nombre de la función y paréntesis (). Ej: def saludar():.
  • Parámetros (Inputs): Son variables que la función recibe para trabajar con ellas. Van dentro de los paréntesis. Ej: def saludar(nombre):.
  • Retorno (Output): Una función puede devolver un valor usando la palabra clave return. Si una función no tiene un return, devuelve None por defecto.
  • Módulos: Son archivos de Python con código que podemos importar en nuestros scripts para usar sus funciones. El módulo random es muy útil para generar aleatoriedad.

Ejercicio: Refactorizando la Calculadora con Funciones

  1. Crea un archivo calculadora_funciones.py.
  2. Escribe el código:

codePython

import random # Importamos el módulo random para un extra

 

# --- Definición de Funciones ---

def sumar(a, b):

    """Esta función recibe dos números y devuelve su suma."""

    return a + b

 

def restar(a, b):

    """Esta función recibe dos números y devuelve su resta."""

    return a - b

 

def multiplicar(a, b):

    """Esta función recibe dos números y devuelve su multiplicación."""

    return a * b

 

def dividir(a, b):

    """Esta función recibe dos números y devuelve su división.

       Maneja el error de división por cero."""

    if b == 0:

        return "Error: No se puede dividir por cero."

    else:

        return a / b

 

# --- Programa Principal ---

print("--- Calculadora con Funciones ---")

num1 = float(input("Introduce el primer número: "))

num2 = float(input("Introduce el segundo número: "))

operador = input("Introduce la operación (+, -, *, /): ")

 

if operador == "+":

    resultado = sumar(num1, num2)

elif operador == "-":

    resultado = restar(num1, num2)

elif operador == "*":

    resultado = multiplicar(num1, num2)

elif operador == "/":

    resultado = dividir(num1, num2)

else:

    resultado = "Operador no válido."

 

print(f"El resultado es: {resultado}")

 

# Extra: Usando el módulo random

print(f"Un número aleatorio entre 1 y 100: {random.randint(1, 100)}")

  1. Ejecuta el programa. Ahora la lógica está mucho más organizada. Cada operación es una función independiente y el programa principal solo se encarga de llamar a la función correcta.

Módulo 6: Proyecto Final

Proyecto Sugerido: Juego "Adivina el Número"

Este proyecto integra todos los conceptos: variables, entrada de usuario, el módulo random, bucles while, y condicionales if/elif/else.

Ejercicio: Código Completo del Juego

  1. Crea un archivo juego_adivina.py.
  2. Escribe el código:

codePython

import random

 

def jugar_adivina_el_numero():

    """Función principal que contiene toda la lógica del juego."""

    print("==========================================")

    print("  ¡Bienvenido a Adivina el Número!  ")

    print("==========================================")

    print("He pensado en un número entre 1 y 100.")

    print("¿Podrás adivinarlo en el menor número de intentos?")

 

    # Generar un número aleatorio secreto

    numero_secreto = random.randint(1, 100)

    intentos = 0

    adivinado = False

 

    # El bucle principal del juego

    while not adivinado:

        # Pedir un número al usuario y manejar posibles errores

        try:

            intento_usuario = int(input("\nIntroduce tu número: "))

            intentos += 1 # Incrementar el contador de intentos

        except ValueError:

            print("Error: Debes introducir un número entero. Inténtalo de nuevo.")

            continue # Vuelve al inicio del bucle

 

        # Comparar el número del usuario con el secreto

        if intento_usuario < numero_secreto:

            print("¡Demasiado bajo! Prueba con un número más alto.")

        elif intento_usuario > numero_secreto:

            print("¡Demasiado alto! Prueba con un número más bajo.")

        else:

            adivinado = True

            print("\n*****************************************************")

            print(f"¡Felicidades! ¡Has adivinado el número {numero_secreto}!")

            print(f"Lo lograste en {intentos} intentos.")

            print("*****************************************************")

 

# --- Iniciar el juego ---

jugar_adivina_el_numero()

  1. ¡A Jugar! Ejecuta el script python juego_adivina.py en la terminal y disfruta de tu primer programa completo. Anima al estudiante a modificarlo: cambiar el rango de números, añadir un límite de intentos, etc.

 

 

 

 

 

 


SOPA DE LETRAS - INTERNET DE LAS COSAS Y LA IA

SOPA DE LETRAS COPIAR EN SUS CUADERNOS Y RESOLVER LA SIGUIENTE SOPA DE LETRAS CUANDO LO HAYA HECHO MUESTRE AL PROFE PARA QUE TE AUTORICE A S...