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
1 mi_variable = 10
2 # Puedo cambiar el tipo sin permiso
3 mi_variable = "Ahora soy un texto"
4 print(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
2 edad_txt = input("¿Cuántos años tienes? ")
3
4 # Convertimos el texto a número entero
5 edad = int(edad_txt)
6 print(f"El próximo año tendrás {edad + 1} años")
7
8 # También podemos convertir a decimal (float)
9 precio = float(input("¿Precio del producto? "))
10 print(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
1 perfil = "Guerrero"
2 nivel = 42
3 print(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á tenés las más comunes:

print-formas.py
PYTHON
1 nombre = "Ana"
2 edad = 19
3
4 # 1) Con comas (print separa con espacios)
5 print("Hola", nombre, "tenés", edad, "años")
6
7 # 2) Concatenando con + (solo strings: hay que convertir números)
8 print("Hola " + nombre + ", tenés " + str(edad) + " años")
9
10 # 3) f-strings (recomendado en la mayoría de casos)
11 print(f"Hola {nombre}, tenés {edad} años")
12
13 # 4) .format() (útil si no podés/querés usar f-strings)
14 print("Hola {}, tenés {} años".format(nombre, edad))
15
16 # 5) join (cuando armás listas de textos)
17 partes = ["Hola", nombre, "tenés", str(edad), "años"]
18 print(" ".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 querés 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
1 precio = 12.5
2 progreso = 0.8321
3
4 print(f"Precio: {precio:.2f} USD") # 2 decimales
5 print(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
1 nacimiento = input("¿En qué año naciste? ")
2 edad_actual = 2024 - int(nacimiento)
3 print(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.