Saltar al contenido principal

Bloque 102. Tipos, operadores y comentarios

Primeros scripts con datos y operaciones

Empezamos con programas cortos que solo necesitan input(), print() y operadores aritméticos. Nada de condicionales ni bucles todavía.

Ejercicio 1. Suma, resta y producto

Pide al usuario dos números enteros y muestra por pantalla su suma, su resta (el primero menos el segundo) y su producto, cada resultado en una línea distinta.

Este primer ejercicio incluye la solución, a modo de ejemplo, porque usa dos herramientas (input() y print()) que todavía no se han enlazado en el apartado de Contenidos de arriba:

numero1 = int(input("Introduce el primer número: "))
numero2 = int(input("Introduce el segundo número: "))

print("Suma:", numero1 + numero2)
print("Resta:", numero1 - numero2)
print("Producto:", numero1 * numero2)
  • input(...) muestra el mensaje entre paréntesis y espera a que el usuario escriba algo y pulse . Lo que devuelve es siempre texto (str), por eso lo envolvemos con int(...) para convertirlo a número entero.
  • print(...) admite varios argumentos separados por comas y los muestra por pantalla separados por un espacio.

A partir del siguiente ejercicio, tendrás que escribir tú la solución completa.

💾 Haz un commit al terminar el ejercicio.

Ejercicio 2. División real, entera y resto

Pide al usuario dos números enteros y muestra el resultado de dividirlos con / (división real), con // (división entera) y con % (resto de la división).

💾 Haz un commit al terminar el ejercicio.

Ejercicio 3. Mensaje de registro

Pide al usuario su nombre y sus dos apellidos (por separado) y muestra el mensaje:

El usuario <apellido1> <apellido2>, <nombre> se ha registrado correctamente

💾 Haz un commit al terminar el ejercicio.

Ejercicio 4. Área de un triángulo y de un círculo

Pide al usuario la base y la altura de un triángulo y calcula su área. Después, pide el radio de una circunferencia y calcula su perímetro y su área (usa 3.1416 como valor de π).

💾 Haz un commit al terminar el ejercicio.

Ejercicio 5. Cambio de divisas

Escribe una calculadora de cambio de divisas: pide una cantidad en libras esterlinas (GBP) y muestra su equivalente en euros, sabiendo que 1 GBP = 1,16 EUR.

💾 Haz un commit al terminar el ejercicio.

Ejercicio 6. Salario neto

Pide al usuario su salario bruto y el IRPF en tanto por ciento, y calcula su salario neto con la fórmula:

salario_neto = salario_bruto - (salario_bruto * IRPF / 100)

💾 Haz un commit al terminar el ejercicio.

Ejercicio 7. Segundos a horas, minutos y segundos

Pide al usuario un número de segundos y muéstralo convertido a horas, minutos y segundos (por ejemplo, 3665 segundos son 1 hora, 1 minuto y 5 segundos).

💾 Haz un commit al terminar el ejercicio.

Ejercicio 8. Coste de un viaje

Pide al usuario los kilómetros recorridos en un viaje, el consumo del coche (litros cada 100 km) y el precio del litro de combustible, y calcula el coste total del viaje.

💾 Haz un commit al terminar el ejercicio.

Ejercicio 9. Ecuación de segundo grado

Pide al usuario los coeficientes a, b y c de una ecuación de segundo grado (a·x² + b·x + c = 0) y calcula sus dos soluciones con la fórmula general. Da por hecho que el discriminante es positivo (no hace falta comprobarlo: eso lo veremos con los condicionales).

💾 Haz un commit al terminar el ejercicio.

Tipos explícitos, conversión y comentarios

A partir de aquí, los ejercicios ponen el foco en declarar tipos concretos, convertir entre ellos y documentar el código.

Ejercicio 10. Ficha de personaje

Crea un script ficha_personaje.py que declare, como literales directamente en el código:

  • Una variable nombre (str).
  • Una variable nivel (int).
  • Una variable vida (float).
  • Una variable esta_vivo (bool).
  • Una constante VIDA_MAXIMA (por convención, en mayúsculas).

Muestra por pantalla una línea por cada dato, con una etiqueta descriptiva (por ejemplo: print("Nombre:", nombre)).

💾 Haz un commit al terminar el ejercicio.

Ejercicio 11. Calculadora de gastos compartidos

Tres amigos han pagado, cada uno, una cantidad distinta durante un viaje (pide las tres cantidades por teclado con input(), convirtiéndolas a float). Calcula y muestra:

  • El gasto total.
  • La media que le correspondería pagar a cada uno.
  • Cuánto le debe (o le deben) a cada amigo respecto a esa media, usando la resta.

Usa al menos una asignación aumentada (+=) en algún punto del cálculo del total.

💾 Haz un commit al terminar el ejercicio.

Ejercicio 12. Validador de datos (sin condicionales todavía)

Sin usar if (eso llega en el siguiente bloque), pide por teclado la edad, la nota y el nombre de usuario, y calcula y muestra directamente el resultado booleano de:

  • Si la persona es mayor de edad (edad >= 18).
  • Si la nota aprueba y además es sobresaliente (nota >= 5 and nota >= 9).
  • Si el nombre de usuario tiene más de 3 caracteres y no está vacío.

Cada resultado debe mostrarse con su propio print(...), mostrando True o False. Recuerda que input() siempre devuelve texto: tendrás que convertir la edad y la nota al tipo adecuado antes de comparar.

💾 Haz un commit al terminar el ejercicio.

Ejercicio 13. De texto a número y de número a texto

Simula que estos tres valores llegan siempre como texto (como si vinieran de un formulario web, aunque de momento los escribas como literales str): "23", "1.75", "true". Conviértelos a los tipos adecuados (int, float...) usando int()/float(), y muestra el resultado de una operación aritmética con ellos (por ejemplo, calcular un IMC con la altura). Comenta con # en qué línea se produce cada conversión y por qué es necesaria.

💾 Haz un commit al terminar el ejercicio.

Ejercicio 14. Caída libre

Define dos constantes al principio del script: GRAVEDAD = 9.8 y ALTURA_INICIAL (la que quieras, en metros).

Pide al usuario un tiempo en segundos y calcula la altura del objeto en ese instante con la fórmula:

altura = ALTURA_INICIAL - 0.5 * GRAVEDAD * tiempo ** 2

Practica aquí el operador de potencia (**) y la precedencia de operadores: calcula primero a mano el resultado esperado para un valor concreto y comprueba que tu script da el mismo número.

💾 Haz un commit al terminar el ejercicio.

Ejercicio 15. Conversor de unidades múltiple

Pide al usuario una distancia en kilómetros y muestra su equivalente en metros, en millas (1 km = 0,621371 millas) y en pies (1 km = 3280,84 pies), cada conversión en su propia línea. Usa una única variable de entrada y tres variables (o expresiones) de salida distintas: no repitas la lógica de conversión más de lo necesario.

💾 Haz un commit al terminar el ejercicio.

Ejercicio 16. Nota final ponderada

Pide al usuario tres notas (tareas, examen teórico y examen práctico) y calcula la nota final ponderada con los pesos 15%, 20% y 65% respectivamente. Redondea el resultado a un decimal con la función round(...).

💾 Haz un commit al terminar el ejercicio.

Ejercicio 17. Un valor todavía sin determinar

Antes de calcular un resultado, a veces conviene declarar ya la variable que lo va a guardar, aunque todavía no sepas qué valor tendrá. Para eso existe el valor especial None, que representa "todavía no hay ningún valor" (no es lo mismo que 0 ni que una cadena vacía "").

Escribe un script que:

  • Declare ganador = None antes de pedir ningún dato (todavía no sabemos quién va a ganar).
  • Pida al usuario dos números y muestre ganador (comprueba que se imprime None).
  • Calcule cuál de los dos números es mayor con la función interna max(numero1, numero2) (sin usar if, que aún no conoces) y guarde ese valor en ganador.
  • Muestre de nuevo ganador, comprobando que ahora contiene el número mayor y ya no es None.

💾 Haz un commit al terminar el ejercicio.

Ejercicio 18. Comenta y documenta

Escribe un script que calcule cuánto debe pagar cada uno en un viaje compartido entre tres amigos: pide las tres cantidades que ha pagado cada uno (con input(), convirtiéndolas a float), calcula el gasto total (usando al menos una asignación aumentada, +=, en el cálculo), la media que le correspondería pagar a cada uno, y cuánto le debe (o le deben) a cada amigo respecto a esa media, usando la resta.

Añade:

  • Un docstring de una línea al principio del fichero explicando qué hace el script.
  • Un comentario # antes de cada bloque de cálculo explicando por qué se hace ese cálculo (no qué hace la línea, eso ya se ve en el código).

💾 Haz un commit al terminar el ejercicio.

Repaso

Al terminar los ejercicios, debes tener claro los siguientes conceptos:

  • Tipos de datos primitivos (int, float, str, bool, None)
  • Variables: declaración y asignación
  • Constantes (convención de mayúsculas)
  • Literales numéricos, de texto y booleanos
  • El valor None
  • Ejecución secuencial de instrucciones
  • Operadores aritméticos (+, -, *, /, //, %, **)
  • Operadores relacionales (==, !=, <, >, <=, >=)
  • Operadores lógicos (and, or, not)
  • Operandos
  • Asignación aumentada (+=, -=, *=...)
  • Conversión de tipos (int(), float(), str())
  • Orden de operaciones / precedencia de operadores
  • Comentarios de una línea (#)
  • Docstrings