[SOLUCIONADO] Python: Juego ahorcado, duda básica

Iniciado por oswil, Octubre 06, 2019, 08:42:32 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Octubre 06, 2019, 08:42:32 PM Ultima modificación: Octubre 22, 2019, 05:33:05 AM por HATI
Hola, he tenido un par de dudas respecto a un algoritmo, por que en la condicion IF que esta en el ciclo FOR se coloca "if i in guardar:", y por que no "if guardar in i" por que va primero el "i".

Otra duda es en la variable de "guardar="" ", en el ciclo WHILE mas específicamente "guardar += usuario", guardar ="" toma valores por separado cada letra que le indique?, ejemplo: le ingreso la letra "A" en el primer input(), y en el segundo input() le ingreso la letra "B" como esa variable guarda esos dos datos ya sea de esta forma, guardar = "A""B" o guardar="AB" o incluso como la variable guardar la deje indicada guardar = " ", quedaría guardar = " ""A""B". Espero me entiendan muchas gracias <3


------------------------------------------------------------------------------------------------------------------------------------------
palabra = "funciona"
vida = 5
guardar = " "
while vida >0:
        print()
        usuario = input("coloca una letra ")
        guardar += usuario
        for i in palabra:
            if i in guardar:
                print(i, end="")
            else:
                print("*", end="")
        if i == usuario:
            print()
            print(" felicitaciones ganas")
       
       
               
if vida <= 0:
        print("perdiste")

Octubre 07, 2019, 12:12:48 PM #1 Ultima modificación: Octubre 07, 2019, 12:16:54 PM por DtxdF
Citarpor que en la condicion IF que esta en el ciclo FOR se coloca "if i in guardar:", y por que no "if guardar in i" por que va primero el "i".

Imagina que quieres averiguar (Me refiero en la vida real) si una persona se encuentra atrapada en una alcantarilla (Perdón por el ejemplo tan brusco); Le preguntas '¿Te encuentras allí?' y la persona te responde con un: 'Si'.

La explicación es parecida en programación, lo que quiere decir es que si yo quiero averiguar si un valor está en otro valor. Ejemplo: 'g' in 'gato', esto me dará 'True', debido a que 'g' está en 'gato'. Si yo le llegara a quitar la 'g' a la palabra 'gato', me daría 'False', simplemente porque no lo encuentra. Ejemplo: 'g' in 'ato' = False.

¿Porque no al revés?. Simplemente por que no vas a averiguar si 'gato' (Siguiendo el ejemplo anterior), está en 'g', en este caso se buscaría todos los caracteres concatenados, me refiero a la palabra completa (gato) para luego buscarla en 'g'.

CitarOtra duda es en la variable de "guardar="" ", en el ciclo WHILE mas específicamente "guardar += usuario", guardar ="" toma valores por separado cada letra que le indique?, ejemplo: le ingreso la letra "A" en el primer input(), y en el segundo input() le ingreso la letra "B" como esa variable guarda esos dos datos ya sea de esta forma, guardar = "A""B" o guardar="AB" o incluso como la variable guardar la deje indicada guardar = " ", quedaría guardar = " ""A""B". Espero me entiendan muchas gracias <3

Si, se guarda de esta manera: "AB", pero en estos casos, aunque te está pidiendo que ingreses una letra, puedes ingresar varias a la misma vez.

Espero haberte ayudado ...

- DtxdF
PGP :: <D82F366940155CB043147178C4E075FC4403BDDC>

~ DtxdF