Café y Código

2. Inputs y Variables: Interactúa con el mundo

Variables: Contenedores de Ideas

A diferencia de Java o C#, Python es dinámico: no necesitas decir qué tipo de dato es. Él lo adivina.

  • entero: puntos = 100
  • flotante: pi = 3.14
  • texto (string): nombre = "Python"
  • booleano: es_genial = True
tipado-dinamico.py
PYTHON
1mi_variable = 10
2# Puedo cambiar el tipo sin permiso
3mi_variable = "Ahora soy un texto"
4print(mi_variable)

Interactuar: La función input()

Python te permite hablar con el usuario muy fácil. Pero ojo: input() siempre nos devuelve un texto. Si quieres hacer matemáticas, debes convertirlo.

entrada.py
PYTHON
1# Pedimos la edad
2edad_txt = input("¿Cuántos años tienes? ")
3
4# Convertimos el texto a número entero
5edad = int(edad_txt)
6print(f"El próximo año tendrás {edad + 1} años")
7
8# También podemos convertir a decimal (float)
9precio = float(input("¿Precio del producto? "))
10print(f"Con el 10% de descuento: {precio * 0.9}")

El poder de los f-strings

Usar la letra f antes de las comillas te permite inyectar variables directamente dentro de un texto de forma limpia y moderna.

formateo.py
PYTHON
1perfil = "Guerrero"
2nivel = 42
3print(f"Estado Actual: {perfil} (Nvl. {nivel})")

Formas de usar print() para mostrar variables

En Python vas a ver varias maneras. Funcionan, pero no todas son igual de claras o cómodas cuando crece el texto. Acá tienes las más comunes:

print-formas.py
PYTHON
1nombre = "Ana"
2edad = 19
3
4# 1) Con comas (print separa con espacios)
5print("Hola", nombre, "tienes", edad, "años")
6
7# 2) Concatenando con + (solo strings: hay que convertir números)
8print("Hola " + nombre + ", tienes " + str(edad) + " años")
9
10# 3) f-strings (recomendado en la mayoría de casos)
11print(f"Hola {nombre}, tienes {edad} años")
12
13# 4) .format() (útil si no puedes/quieres usar f-strings)
14print("Hola {}, tienes {} años".format(nombre, edad))
15
16# 5) join (cuando armás listas de textos)
17partes = ["Hola", nombre, "tienes", str(edad), "años"]
18print(" ".join(partes))

¿Cuál es mejor? (y por qué f-strings suele ganar)

  • Con comas (print("a", x, "b")): es simple y rápido, pero el espaciado lo decide print(mete espacios entre argumentos) y el resultado a veces queda “raro” si quieres control fino.
  • Con +: te da control del texto, pero es frágil (si algo no es string rompe) y se vuelve difícil de leer cuando concatenás mucho.
  • Con f-strings: es más legible, no te obliga a convertir manualmente todo a string, y te permite formateo claro:{precio:.2f}, {porcentaje:.0%}, {fecha:%Y-%m-%d}.
fstring-formato.py
PYTHON
1precio = 12.5
2progreso = 0.8321
3
4print(f"Precio: {precio:.2f} USD") # 2 decimales
5print(f"Progreso: {progreso:.0%}") # porcentaje sin decimales

💻 Misión: La calculadora de edad

Crea un programa que pida el año de nacimiento del usuario y calcule cuántos años cumplirá este 2024.

👁️ Ver solución sugerida
Python
PYTHON
1nacimiento = input("¿En qué año naciste? ")
2edad_actual = 2024 - int(nacimiento)
3print(f"Tienes o cumplirás {edad_actual} años")

Prueba sobre Variables

Dato curioso: Primera versión pública en 1991; Guido van Rossum. Wikipedia

Ko-fi
Donaciones
Apoyá cafeycodigo con un café en Ko-fi. Colaboradores: insignia, muro y zona exclusiva.