Python - Ayuda con sustitucion de caracteres en Python

 
Vista:

Ayuda con sustitucion de caracteres en Python

Publicado por Ishtarah (2 intervenciones) el 20/02/2019 17:41:19
Hola.
Estoy intentando hacer un juego simple de adivina la palabra. Como estoy aprendiendo y no controlo mucho he pensado que mejor dividir el problema y luego complicarlo.
He usado la palabra "casa" para el juego. El problema es que tengo una variable llamada palabra_oculta la cual contiene los caracteres sustituidos por guiones. El objetivo es hacer que el usuario introduzca caracteres y se vaya "desbloqueando" la palabra casa.
El problema es que al sustiruir los caracteres solo me sustituye el primero, no se como hacer para que vaya sustituyendo todos a medida que el usuario va acertando los caracteres.ç
Dejo mi codigo por aquí:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
def reemplazar():
    for letra in palabra:
        l1 = input("Introduce una letra: ")
        if l1 not in palabra:
            print("Esa no es la letra,intentalo otra vez")
            break
 
            if l1 == palabra[0]:
                print(palabra_oculta[0].replace(palabra_oculta[0],palabra[0]))
                continue
            if l1 == palabra[1]:
                print(palabra_oculta[1].replace(palabra_oculta,palabra[1]))
                continue
 
palabra_oculta = "----"
palabra = "casa"
print(palabra_oculta)
 
reemplazar()


Como podéis ver el codigo es de principante, estoy aprendiendo, a veces me es complicado y tengo que pedir ayuda. Gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Xavi
Val: 666
Bronce
Ha disminuido 1 puesto en Python (en relación al último mes)
Gráfica de Python

Ayuda con sustitucion de caracteres en Python

Publicado por Xavi (47 intervenciones) el 20/02/2019 20:31:02
Haber si te sirve esta modificación que te he realizado...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
def reemplazar():
    x=list(palabra_oculta)
    for letra in palabra:
        l1 = input("Introduce una letra: ")
        if l1 not in palabra:
            print("Esa no es la letra,intentalo otra vez")
            continue
        else:
            for i in range(len(palabra)):
                if palabra[i]==l1:
                    x[i]=palabra[i]
        print("".join(x))
 
palabra_oculta = "----"
palabra = "casa"
print(palabra_oculta)
 
reemplazar()
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda con sustitucion de caracteres en Python

Publicado por Ishtarah (2 intervenciones) el 20/02/2019 20:33:41
Muchas gracias por responder.
En cuanto pueda lo pruebo y te comento.
Tengo una pregunta: ¿Para que sirve join() en python exactamente?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Xavi
Val: 666
Bronce
Ha disminuido 1 puesto en Python (en relación al último mes)
Gráfica de Python

Ayuda con sustitucion de caracteres en Python

Publicado por Xavi (47 intervenciones) el 21/02/2019 07:44:27
join() junta los valores de la lista con el elemento indicado...

1
2
a=["c","a","s","a"]
print("-".join(a)) # devolvera c-a-s-a
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar