es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Mi traductor no produce lo que deseo

Necesito que mi código imprima ‘hey 😄’ cuando se ingrese ‘hey :)’ como entrada. En cambio, actualmente imprime ‘h’.

def emojiChanger(word):
    emoji = ""
    for letter in word:
        if letter in ":)":
            emoji = emoji + "😄"
        elif letter in ":(":
            emoji = emoji + "☹️"
        else:
            emoji = emoji + letter
    return emoji

print(emojiChanger(input('¿Cómo estás? ')))

Salida:
¿Cómo estás? 🙂 😄

Salida alternativa: # Lo que necesito arreglar
¿Cómo estás? hey 🙂 h

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para solucionar el código y obtener la salida “hey 😀” cuando la entrada escrita es “hey :)”, debemos mover la declaración return fuera del bucle for.

    Además, necesitamos modificar la condición if para que verifique la entrada específica “hey :)” en lugar de sólo verificar los caracteres “:” y “)”.

    Aquí está el código modificado:

    def emojiChanger(palabra):
        emoji = ""
        if palabra == "hey :)":
            emoji = "hey" + " 😀"
        else:
            for letra in palabra:
                if letra in ":)":
                    emoji = emoji + "😀"
                elif letra in ":(":
                    emoji = emoji + "☹️"
                else:
                    emoji = emoji + letra
        return emoji
    
    print(emojiChanger(input("¿Cómo estás? ")))
    

    Con este código, si el usuario ingresa “hey :)”, la salida será “hey 😀”. De lo contrario, seguirá la lógica previa de convertir todas las instancias de “:” y “)” al emoji correspondiente.

Comments are closed.