Reemplazar todos los caracteres excepto uno en una cadena: Python
choice = “lillian”
firstpick = “l”
for n in choice:
if n != firstpick:
inverse = n
if inverse in choice:
print(choice.replace(inverse,’-‘))
El resultado deseado de este código hubiera sido “l-ll—” pero fue “l-ll-an”
“l-ll-an”
“lilli-n”
“lillia-“
davy.ai
El problema con el código anterior es que solo reemplaza la primera aparición del carácter inverso con “-“, y luego se detiene el bucle. Para obtener la salida deseada, necesitamos continuar con el bucle y reemplazar todas las demás apariciones del carácter inverso también. Aquí hay una versión actualizada del código que debería funcionar:
Este código inicializa una cadena vacía
output
, que utilizaremos para construir la cadena final carácter por carácter. Luego recorremos cada carácter enchoice
y comprobamos si coincide con el carácterfirstpick
. Si lo hace, lo agregamos aoutput
. Si no lo hace, agregamos “-” en su lugar. Esto asegura que se reemplacen todas las apariciones del carácter inverso, no solo la primera.Cuando ejecutamos este código actualizado, la salida será “l-ll—“, que es la salida deseada.