Je ne comprends pas pourquoi mon script n'itération à travers tous les éléments de string.split?

Support Informatique :

L'objectif de cet exercice de Python est de construire une fonction que le texte se transforme en cochon de latin, une transformation simple texte qui modifie chaque mot en déplaçant le premier caractère à la fin et annexant jusqu'à la fin « ay ».

Par exemple, se pythontermine comme ythonpay.

J'ai construit en fait ce script, mais je suis confus quant à pourquoi il n'itérer tous les text.splitéléments? Et pourquoi il modifie seulement le dernier élément?

def pig_latin(text):
      say = ""

    # Separate the text into words
      words = text.split()

      for word in words:
    # Create the pig latin word and add it to the list

        new_word = word[1:] + word[0] + "ay"
        say =  "".join(new_word)

    # Turn the list back into a phrase
       return say

    print(pig_latin("hello how are you")) 
    # Should be "ellohay owhay reaay ouyay"

    print(pig_latin("programming in python is fun")) 
    # Should be "rogrammingpay niay ythonpay siay unfay"
LTheriault:

Cette section est de savoir pourquoi. Vous avez seulement une variable new_word, donc chaque fois que cette boucle fonctionne, il écrase la valeur précédente. La seule valeur qui ne soit pas écrasé est le dernier, et vous vous retrouvez avec une seule chaîne.

for word in words:
    new_word = word[1:] + word[0] + "ay"
    say =  "".join(new_word)

Au lieu de cela, assurez-vous que chaque nouveau mot se retrouve dans une liste. La façon la plus intuitive de le faire, est l'OMI par la compréhension de la liste. Ci-dessous, comment vous le formater pour cela, mais regarder comment les faire. Sérieusement, il est quelques minutes de votre temps et ils seront l'un de vos meilleurs amis que vous continuez à apprendre. Vous pouvez également faire la même chose avec les dictionnaires.

pig_latin_text = [word[1:] + word[0] + "ay" for word in words]
say =  " ".join(pig_latin)

Je suppose que tu aimes

Origine http://10.200.1.11:23101/article/api/json?id=399578&siteId=1
conseillé
Classement