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 Réponses :
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)
Spanish dog bowl end ['Spanish', 'dog', 'bowl']
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: ']))))
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!