1
votes

Comment implémenter une boucle while en Python?

Fondamentalement, j'ai besoin d'écrire un programme qui prend les entrées d'un utilisateur et les stocke dans une liste encore et encore jusqu'à ce que le mot "fin" soit passé.

Exemple d'entrée

a = []
index = 0
i = 1
while i != 0:
    s = raw_input()
    if s == "end":
        i = 0
    else:
        a[index] = s
        index = index + 1
print (a)

Exemple de sortie

['spanish', 'dog', 'bowl']

Voici ce que j'ai jusqu'à présent:

Spanish
dog
bowl
end

Notez que dans le cadre du devoir, une boucle while doit être utilisée.


3 commentaires

Avez-vous vraiment besoin de tous les commentaires sur l'enseignant pour poser cette question?


Peut-être que le tutoriel officiel pourrait vous aider?


Je suppose que je n'avais pas besoin d'inclure ça non, mon mal. Juste un peu pressé donc je ne pensais pas. Merci d'avoir répondu!


3 Réponses :


1
votes

Si vous utilisez Python 3.8+, vous pouvez utiliser cette nouvelle fonctionnalité intéressante appelée expressions d'attribution comme ceci:

lst = []
while (answer := input('item (type "end" to exit): \t')) != 'end':
    lst.append(answer)
print(lst)


0 commentaires

3
votes
Spanish
dog
bowl
end
['Spanish', 'dog', 'bowl']

0 commentaires

0
votes

si vous aimez la solution en une ligne:

Spanish
dog
bowl
end
['Spanish', 'dog', 'bowl']

ou:

words = list(takewhile(lambda x: x != 'end', map(input, cycle(['']))))
print(words)

sortie:

from itertools import takewhile, cycle

words = list(takewhile(lambda x: x != 'end', map(input, cycle(['type your item: ']))))


0 commentaires