پن کیا گیا ٹویٹ
Código Pitón
2.3K posts

Código Pitón
@codigopiton
30 ejercicios de Python (descarga gratis) ➡ https://t.co/VUfqXtcHDr
España شامل ہوئے Eylül 2020
432 فالونگ1.5K فالوورز

@elkikorro La IA la puede usar cualquiera. Pero para saber lo que hace la IA y poder tomar decisiones, sigue siendo necesario.
Español

El tercer candidato demuestra sus habilidades con el siguiente código:
for carta, jugador in zip(baraja, cycle(jugadores)):
jugador.append(carta)
¡CONTRATADO!
Estudia estas soluciones, entiéndelas bien.
La práctica consciente se trata de realizar un mismo ejercicio varias veces intentando lograr una solución distinta (y mejor) de cada vez.
Esto es lo que te hará avanzar.
Español

Asumiendo que la baraja tiene 12 cartas (y cada carta es un número):
baraja = list(range(1, 13))
jugadores = [[], [], [], []]
for indice, carta in enumerate(baraja):
jugador = jugadores[indice % len(jugadores)]
jugador.append(carta)
for jugador in jugadores:
print(jugador)
Esto saca lo siguiente por pantalla:
[1, 5, 9]
[2, 6, 10]
[3, 7, 11]
[4, 8, 12]
(sigue)
Español

Estás en una entrevista de trabajo para ser crupier profesional y te piden que repartas las cartas de una baraja entre 4 jugadores para demostrar tus habilidade.
Lo tienes que hacer con Python.
Así que, con una gota de sudor frío en la frente y con los nervios de fiesta loca escribes el siguiente código:
(sigue)
Español

@PythonPr Es un error (respuesta D), naturalmente, pues falta el paréntesis de cierre de la función print.
De tenerlo, el resultado sería la B.
Español

@codigopiton De gratis nada, no hay nada gratis rn ls vida.
Español

@Python_Dv Pues ninguna de ellas. No sé si el test está hecho "a pillar" o está generado por una IA sin ningún tipo de cuidado.
Error de indexación pues no existe el elemento 7 en la cadena de texto, que es de longitud 7 (el último elemento es el 6).
Español

@Bhernandezdot @PythonPr Bruno, tienes razón.
Sin embargo, la pregunta es "¿Cuál será la salida del progama?". Asumiendo a que se refiere salida por pantalla, sería interpretable, pues la salida no será "".
Español

@codigopiton @PythonPr Pero en términos booleanos "Python"*0 == "" es True, entonces según el computador es la D igualmente
Español

Bonus:
redondeo a decimales también puede dar sorpresas (por la representación flotante 0.1 + 0.2 = 0.30000000000000004):
>>> round(1.675, 2)
1.68
>>> round(2.675, 2)
2.67
Moraleja: round() es genial, pero entiende su regla "half to even".
Si necesitas redondeo "siempre arriba" → usa decimal module o truquitos.
¿Te ha pillado alguna vez desprevenido round() en Python?
¿O sigues en shock?
Cuéntame abajo (el que ponga "maldito Python" se lleva like garantizado).
Español

@PythonPr En Python 3.X la división siempre es real, así que el tipo será float.
En Python 2.X,se aplicaba la división entre enteros si los operandos eran enteros (sería int la respuesta).
Para lograr ese comportamiento en Python 3.X, el operador a usar es //:
>>> 5 // 2
2
Español

@Python_Dv Es un error de sintaxis, pues el operador debe escribirse todo junto "*=".
Por tanto, la respuesta es la D.
Español









