Test cuestionario de Python: desafíos de programación gratuitos - the question form
Preguntas: 16 · 10 minutos
1. ¿Qué imprime este código?
class Counter:
def __init__(self, start=0):
self.value = start
def increment(self):
self.value += 1
a = Counter(2)
b = Counter()
a.increment()
print(a.value, b.value)
2 0
3 1
2 1
3 0
2. ¿Qué se asigna a ordered? El ordenamiento de Python es estable, por lo que las palabras de igual longitud conservan su orden relativo original.
words = [""pear"", ""fig"", ""kiwi"", ""plum""]
ordered = sorted(words, key=len)
[""pear"", ""kiwi"", ""plum"", ""fig""]
[""fig"", ""kiwi"", ""pear"", ""plum""]
[""fig"", ""pear"", ""kiwi"", ""plum""]
[""plum"", ""kiwi"", ""pear"", ""fig""]
3. Un programa debe generar un millón de números elevados al cuadrado y procesarlos uno por uno sin almacenar primero todos los resultados. ¿Qué expresión es la más adecuada?
Una expresión generadora: (n * n for n in range(1_000_000))
Una comprensión de conjuntos: {n * n for n in range(1_000_000)}
Una comprensión de listas: [n * n for n in range(1_000_000)]
Una tupla construida de forma inmediata: tuple(n * n for n in range(1_000_000))
4. ¿Qué imprime esta expresión?
print(-7 // 3)
El cociente de punto flotante -2.3333333333333335
El entero -3 obtenido mediante división entera con redondeo hacia abajo
El entero -2 después de truncar hacia cero
El entero positivo 3
5. ¿Qué imprime este código?
def add_item(item, bucket=None):
if bucket is None:
bucket = []
bucket.append(item)
return bucket
print(add_item(""a""), add_item(""b""))
['a', 'b'] ['a', 'b']
['a'] ['b']
['b'] ['a']
['a'] ['a', 'b']
6. ¿Qué afirmación describe correctamente la diferencia habitual entre los operadores == e is de Python?
#ИМЯ?
#ИМЯ?
#ИМЯ?
#ИМЯ?
7. ¿Qué salida produce este código?
def check():
print(""checked"")
return True
result = False and check()
print(result)
Imprime `checked` y luego `False`.
Imprime únicamente `False`.
Imprime únicamente `True`.
Imprime `checked` y luego `True`.
8. ¿Qué imprime esta operación de segmentación?
text = ""python""
print(text[1:5:2])
yto
yh
pto
yth
9. ¿Qué valor se asigna a pairs?
names = [""Ada"", ""Linus"", ""Guido""]
scores = [9, 8]
pairs = list(zip(names, scores))
[(""Ada"", 9), (""Linus"", 8)]
[(""Ada"", 9), (""Linus"", 8), (""Guido"", 9)]
[(""Ada"", ""Linus""), (9, 8)]
[(""Ada"", 9), (""Linus"", 8), (""Guido"", None)]
10. ¿Qué se imprime al ejecutar este código?
try:
value = int(""3.5"")
except ValueError:
value = 0
print(value)
3
Nada, porque el error no controlado detiene el programa.
3.5
0
11. ¿Qué valor se asigna a result?
nums = [1, 2, 3, 4, 5]
result = [n * n for n in nums if n % 2 == 0]
[1, 9, 25]
[2, 4]
[4, 16]
[1, 4, 9, 16, 25]
12. ¿Cuál es una ventaja principal de abrir un archivo con una sentencia with, como en `with open(""notes.txt"") as file:`?
El archivo se cierra automáticamente cuando termina el bloque, incluso cuando se producen muchas excepciones.
El archivo completo se convierte automáticamente en una lista.
El archivo pasa a admitir escritura aunque se haya abierto en modo de lectura.
El contenido del archivo permanece almacenado permanentemente en caché después de que termina el bloque.
13. ¿Qué imprime este código?
x = 10
def change():
x = 3
return x
change()
print(x)
Se produce un UnboundLocalError.
3
None
10
14. Necesitas eliminar los duplicados de values y conservar el orden de la primera aparición de cada valor. ¿Qué expresión lo hace?
values = [""b"", ""a"", ""b"", ""c"", ""a""]
list(set(values))
sorted(set(values))
list(dict.fromkeys(sorted(values)))
list(dict.fromkeys(values))
15. ¿Qué imprime este código?
items = [1, 2]
alias = items
alias.append(3)
print(items)
Una lista que contiene únicamente el 3: [3]
La lista original de dos elementos: [1, 2]
La lista actualizada: [1, 2, 3]
Se produce un error porque alias no es una lista.
16. ¿Qué se imprime después de que este bucle cuenta las letras?
counts = {}
for ch in ""aba"":
counts[ch] = counts.get(ch, 0) + 1
print(counts[""a""], counts[""b""])
1 1
2 2
2 1
3 1