#1440 El de blackjack pero estaba investigando por mi cuenta como hacerlo y ya luego me pongo su solución xD
#1445 ah, osea que quieres algo dinámico, que confirme cambie key1, cambie key2 automáticamente
#1446 Exacto, imaginaba que no seria posible y ahora en frio al pensarlo esta bastante claro que no se iba a ir actualizando solo dinamicamente jajaja, gracias por las ayudas!
#1447 a ver, posible si que sería, pero tendrías que definir una nueva clase, como se ha comentado antes, y además hacerla de manera que cuando cambie el valor de key1, lo haga también el de key2. Poderse todo se puede.
En tu caso está fuera de lo que pretende el curso enseñar claro. Cuando aprendas sobre clases, ya si quiere lo retomas xd
#1438 Para hacer lo que buscas una solución que se me ocurre es crear una clase con sus metodos propios y desde dentro de la clase controlar que cada vez que cambie key1 se actualize el valor de key2. Puedes hacer que la devolucion de la clase sea un diccionario y, a efectos practicos, habrias implementado esa idea.
Lo pongo aqui para no hacer spoiler en el otro hilo, pero estoy teniendo un error de indentacion que no entiendo, estaba funcionando y de repente sin tocarlo me suelta este error
File "C:...", line 20
deal_card()
....................^ esto apunta al parentesis
IndentationError: expected an indented block
Estoy probando para hacer el blackjack de otra forma y coño no entiendo pk me dice lo de la indentacion
Lo flipo, solo he añadido algo depues del if y ahora no me da el error, no tiene sentido o si?
#1450 si tienes un if "vacío" se queda esperando a que escribas después que hacer en caso de que la condición sea verdadera, si no pones nada, pilla todo lo que viene después como código a ejecutar en caso de verdadero, por lo que te pilla todo lo siguiente como fallo de indentacion
Edit: Aún no he llegado a esa parte, pero si tu codigo es lo que has puesto, el fallo viene de ahí, de tener un if sin un "contenido" por así decirlo
#1451 uhm juraria que cuando no me daba el error tambien lo tenia vacio, pero lo tendre en cuenta, gracias!
#1454 Si exacto, voy probando poco a poco, que si me lio a meter cosas y luego me falla algo no se donde empezar, asi que prefiero ir pasito a paso, no conocia lo del pass, muchas gracias!
#1450 Por cierto, acabo de hacer el ejercicio y deberias cambiar los random.sample() por random.choices(), ya que una de las reglas que te dicen, es que las barajas son infinitas y que las cartas no salen de las barajas una vez que se seleccionan. Con sample, te saca un valor y no puede repetirse a menos que lo tengas repetido en la lista, con choices puede pillarte 20 veces el mismo
Para el resto, hace muchos años que no toco nada de codigo, hasta que punto esto sigue o no sigue buenas practicas y/o esta bien estructurado? Es el mismo ejercicio que el de #1450 , estoy teniendo "problemas" siguiendo el curso mas que nada por no saber si estoy estructurando bien las cosas o no (usar recursividad en vez de loops por ejemplo o separar en demasiadas funciones)
#1456 #1457 Puede que tuviera mal la tabulacion pero la hice de nuevo.
No he mirado ninguna de las pistas, fui a la burro, es decir, jugue un par de partidas al blackjack y luego me puse a hacerlo, quitando de como llamar la funcion y demas.
Gracias no habia visto que samples no repite valores dentro de la misma lista, pensaba que al decirte que pillara 2 samples, es como si hiciera 2 listas y pillara 1 valor de cada una.
probablemente mañana o pasado termine con este curso: https://www.udemy.com/course/complete-python-bootcamp/
Cual creeis que es la mejor manera de continuar? He pensado en empezar a aprender JS+php y hacer 20-30 mins al dia algo de codigo en python para no olvidar lo aprendido.
Estoy en un curso de Python que he empezado ayer y hemos dado el tema este del "if", lo que hay un simbolo que se me ha olvidado que era: "!=" . Cuando estamos haciendo una estructura "if" a que se refiere? Venía a significar como "Diferente de" ?
Muchas gracias.
Y en python tambien tienes la keyword not
if a != b:
print("blablabla")
es lo mismo que
if not a == b:
print("blablabla")
Buenas tardes a todos, hoy vengo con otra duda:
Tengo un ejercicio que dicta esto:
Cambia los elementos negativos de una lista por sus valores positivos.
El resultado sería este:
mi_lista = [4, 7, -3, 6, 10, 8, -1]
num = 0
for index in mi_lista:
if index < 0:
index = index * -1
mi_lista[num] = index
num = num + 1
print(mi_lista)
Voy entendiendolo todo hasta que llego a mi_lista[num] = index .
¿Cuál sería la interpretación de eso? mi_lista ya es una lista, pero está usando num cómo índice? Y en tal caso, no entiendo el uso ese ahí. No sé, lo veo y me suena a chino.
Alguien que me pueda arrojar un haz de luz? Lo estoy llevando bastante regular, pero bueno, quiero terminar el curso por mis cojones morenos.
si tu en python pones un bucle como
lista = [4, 7, -3, 6, 10, 8, -1]
for index in lista:
.....
index te va a tomar los valores de la lista, en este caso 4,7,-3,6,... NO los indices(0,1,2,3,4...)
entonces una vez que tu compruebas que el numero de la lista(index) es negativo y le cambias el valor, ahora necesitas guardar ese valor en la posicion correcta de la lista.
Para eso creas la variable num y le vas sumando +1 en cada iteracion. Este valor de num toma los valores(0,1,2,3,4,5).
Tambien existe la funcion enumerate, que te hace directamente eso
for num,index in enumerate(mi_lista):
si le das la vuelta al naming imagino que te sería más sencillo de entender; no sé por qué llama "index" al ítem en la lista y "num" al índice que usas para recorrerla
mi_lista = [4, 7, -3, 6, 10, 8, -1]
# inicializamos el índice a 0 para empezar por el 4 del principio
index = 0
for num in mi_lista:
# si el número es negativo, primero le cambiamos el signo
# y después se guarda el número en el índice que toca
if num < 0:
num = num * -1
mi_lista[index] = num
# antes de acabar el bucle se suma 1 al índice para que la próxima
# vez sea el siguiente número
index = index + 1
print(mi_lista)
con los nombres del revés si sigues el proceso tú a mano uno a uno (primero índice 0 con número 4, luego índice 1 con número 7, etc) lo verás más nítido imagino