Saltar al contenido
python.test.py · devschool

Retos de Python

70 preguntas ordenadas como el curso de Python. Hazlas en orden o salta al tema que quieras repasar.

devschool $ 0 aciertos de 0 respondidas

¿Qué es Python?

¿Te atascas? Repasa la lección ¿Qué es Python?.

[Python] ¿Qué define los bloques de código en Python?

[Python] ¿Qué muestra este código?
print("a", "b", "c", sep="-", end="!")

[Python] ¿Qué error produce esta línea?
Print("hola")

Variables y tipos

¿Te atascas? Repasa la lección Variables y tipos.

[Python] ¿Qué muestra este código?
print(7 // 2, 7 % 2)

[Python] ¿Qué muestra este código?
edad = input("Edad: ")  # el usuario escribe 20
print(edad + 1)

[Python] ¿Qué muestra este código?
print(bool("False"), bool(0), bool(" "))

[Python] ¿Qué muestra este código?
precio = 7.9
print(int(precio), round(precio))

Operadores

¿Te atascas? Repasa la lección Operadores.

[Python] ¿Qué muestra este código?
print(divmod(125, 60))

[Python] ¿Qué muestra este código?
print("" or "Invitado", 0 and 10)

[Python] ¿Qué muestra este código?
print(round(2.5), round(3.5))

[Python] ¿Cuánto vale esta expresión?
print(2 + 3 * 2 ** 2)

Cadenas

¿Te atascas? Repasa la lección Cadenas.

[Python] ¿Qué muestra este código?
palabra = "Python"
print(palabra[1:4])

[Python] ¿Qué muestra este código?
nombre = "  ana "
nombre.strip()
print(len(nombre))

[Python] ¿Qué muestra este código?
print("2024".isdigit(), "-5".isdigit())

[Python] ¿Qué muestra este código?
print("banana".find("n"), "banana".count("a"))

if, elif y else

¿Te atascas? Repasa la lección if, elif y else.

[Python] ¿Qué muestra este código?
dia = "lunes"
if dia == "sábado" or "domingo":
    print("Fin de semana")
else:
    print("Laborable")

[Python] ¿Qué muestra este código?
nota = 9.5
if nota >= 5:
    print("Aprobado")
elif nota >= 9:
    print("Sobresaliente")
else:
    print("Suspenso")

Bucles

¿Te atascas? Repasa la lección Bucles.

[Python] ¿Qué números muestra este bucle?
for i in range(1, 4):
    print(i)

[Python] ¿Qué muestra este código?
for n in [1, 3, 5]:
    if n % 2 == 0:
        print("Hay un par")
        break
else:
    print("Sin pares")

[Python] Se quería sumar del 1 al 4. ¿Qué muestra este código?
for i in range(1, 5):
    total = 0
    total += i
print(total)

Listas

¿Te atascas? Repasa la lección Listas.

[Python] ¿Qué muestra este código?
frutas = ["pera", "uva", "kiwi"]
print(frutas[-1])

[Python] ¿Qué muestra este código?
numeros = [3, 1, 2]
numeros.append(5)
print(len(numeros))

[Python] ¿Qué muestra este código?
a = [1, 2]
b = a
b.append(3)
print(a)

[Python] ¿Qué muestra este código?
notas = [3, 1, 2]
notas = notas.sort()
print(notas)

Tuplas y conjuntos

¿Te atascas? Repasa la lección Tuplas y conjuntos.

[Python] ¿Qué muestra este código?
dato = ("hola")
print(type(dato))

[Python] ¿Qué muestra este código?
a = {1, 2, 3, 4}
b = {3, 4, 5}
print(sorted(a - b), sorted(a & b))

[Python] ¿Qué muestra este código?
numeros = [3, 1, 3, 2, 1, 3]
print(len(set(numeros)))

[Python] ¿Cómo se crea un conjunto vacío en Python?

Diccionarios

¿Te atascas? Repasa la lección Diccionarios.

[Python] ¿Cómo se obtiene el valor de "precio"?
producto = {"nombre": "Libro", "precio": 12}

[Python] ¿Qué muestra este código?
alumno = {"nombre": "Marta", "edad": 21}
print("Marta" in alumno, alumno.get("email", "-"))

[Python] ¿Qué muestra este código?
a = {"x": 1, "y": 2}
b = {"y": 5, "z": 3}
print(a | b)

Comprensiones

¿Te atascas? Repasa la lección Comprensiones.

[Python] ¿Qué imprime este código?
notas = [4, 7, 5, 9]
print(["A" if n >= 5 else "S" for n in notas])

[Python] ¿Qué imprime este código?
print([n * 2 for n in range(6) if n % 2])

[Python] ¿Qué imprime este código?
g = (x for x in [1, 2, 3])
print(sum(g), sum(g))

[Python] Quieres saber si TODOS los productos de una lista tienen stock mayor que 0. ¿Qué opción es la más adecuada?

Funciones

¿Te atascas? Repasa la lección Funciones.

[Python] ¿Qué muestra este código?
def doble(n):
    n * 2

print(doble(4))

[Python] ¿Qué muestra este código?
def agregar(item, lista=[]):
    lista.append(item)
    return lista

agregar("a")
print(agregar("b"))

[Python] ¿Qué muestra este código?
def precio_final(precio, iva=0.21):
    return round(precio * (1 + iva), 2)

print(precio_final(100, iva=0.10), precio_final(iva=0, precio=50))

Funciones avanzadas

¿Te atascas? Repasa la lección Funciones avanzadas.

[Python] ¿Qué imprime este código?
def f(a, b=[]):
    b.append(a)
    return len(b)

print(f(1), f(2), f(3))

[Python] ¿Qué imprime este código?
def g(*a, **k):
    return len(a), len(k)

print(g(1, 2, x=3))

[Python] ¿Qué imprime este código?
def h():
    n = 0
    def i():
        nonlocal n
        n += 2
        return n
    return i

c = h()
c()
print(c())

[Python] ¿Qué hace el parámetro * en def conectar(host, *, puerto=5432)?

Excepciones

¿Te atascas? Repasa la lección Excepciones.

[Python] ¿Qué imprime f(0)?
def f(x):
    try:
        r = 10 / x
    except ZeroDivisionError:
        print("A")
    else:
        print("B")
    finally:
        print("C")

f(0)

[Python] ¿Qué imprime este código?
try:
    n = int("5") + "1"
except ValueError:
    print("valor")
except TypeError:
    print("tipo")

[Python] En un traceback de Python, ¿dónde está normalmente la información más importante?

[Python] ¿Por qué se desaconseja escribir except: sin indicar ningún tipo?

Módulos

¿Te atascas? Repasa la lección Módulos.

[Python] Tienes saludos.py con este código y ejecutas python main.py, cuyo contenido es import saludos. ¿Qué se muestra?
# saludos.py
print("cargando", __name__)

if __name__ == "__main__":
    print("prueba")

[Python] Después de import math, ¿qué línea funciona?

[Python] Creas un archivo llamado random.py con tu juego y dentro escribes import random y random.randint(1, 6). ¿Qué pasa?

[Python] ¿Qué imprime este código?
from collections import Counter
print(Counter("banana").most_common(1))

Ficheros y JSON

¿Te atascas? Repasa la lección Ficheros y JSON.

[Python] ¿Qué imprime este código?
with open("t.txt", "w", encoding="utf-8") as f:
    f.write("uno\n")
with open("t.txt", "w", encoding="utf-8") as f:
    f.write("dos\n")
with open("t.txt", "a", encoding="utf-8") as f:
    f.write("tres\n")

print(open("t.txt", encoding="utf-8").read().splitlines())

[Python] ¿Cuál es la principal ventaja de abrir un fichero con with open(...) as f?

[Python] ¿Qué diferencia hay entre json.dump y json.dumps?

[Python] Lees un CSV con csv.DictReader y haces fila["nota"] + 1. ¿Qué ocurre?

Clases y objetos

¿Te atascas? Repasa la lección Clases y objetos.

[Python] ¿Qué imprime este código?
class Contador:
    total = 0
    def __init__(self):
        self.total += 1

a = Contador()
b = Contador()
print(Contador.total, a.total)

[Python] Llamas a ana.saludar() y obtienes: TypeError: Alumno.saludar() takes 0 positional arguments but 1 was given. ¿Cuál es la causa más probable?

[Python] Quieres que producto.precio se lea como un atributo, pero que al asignarle un valor negativo se lance un error. ¿Qué usas?

[Python] ¿Qué imprime este código?
from dataclasses import dataclass

@dataclass
class Punto:
    x: int
    y: int = 0

print(Punto(3) == Punto(3, 0))

Herencia

¿Te atascas? Repasa la lección Herencia.

[Python] ¿Qué imprime este código?
class A:
    def saludo(self):
        return "A"

class B(A):
    def saludo(self):
        return "B" + super().saludo()

class C(B):
    pass

print(C().saludo())

[Python] ¿Qué imprime este código?
class Caja:
    def __init__(self, n):
        self.n = n

print(Caja(5) == Caja(5))

[Python] Una clase Figura hereda de ABC y tiene area marcado con @abstractmethod. Triangulo hereda de Figura pero no define area. ¿Qué pasa al ejecutar Triangulo(3, 2)?

[Python] Tienes las clases Coche y Motor. ¿Qué diseño es más adecuado?

Fechas

¿Te atascas? Repasa la lección Fechas.

[Python] ¿Qué imprime este código?
from datetime import date, timedelta

inicio = date(2026, 2, 20)
fin = inicio + timedelta(days=10)
print(fin)

[Python] ¿Qué imprime este código?
from datetime import datetime

d = datetime(2026, 7, 5, 9, 8)
print(d.strftime("%d/%M/%Y"))

[Python] Tienes el texto "25/12/2026" escrito por el usuario. ¿Cómo lo conviertes en una fecha?

[Python] ¿Qué imprime este código?
from datetime import date

print((date(2027, 1, 1) - date(2026, 12, 25)).days)

pip y entornos

¿Te atascas? Repasa la lección pip y entornos.

[Python] ¿Qué comando crea un entorno virtual en la carpeta .venv?

[Python] Un compañero clona tu proyecto, que incluye requirements.txt. ¿Qué debe hacer, después de crear y activar su entorno virtual, para instalar las dependencias?

[Python] Instalas requests con el entorno virtual activado, abres otra terminal sin activarlo y ejecutas python main.py. ¿Qué ocurre?

[Python] ¿Qué deberías subir a tu repositorio de Git en un proyecto con entorno virtual?