Использование пустой строки в качестве значения индикатора для завершения ввода в цикле while - PullRequest
0 голосов
/ 01 февраля 2020

Я все еще новичок в Python. Мой профессор дал нам лабораторное задание, которое должно печатать слова в списке из пользовательского ввода, который не дублирует его элементы, которые отображаются только в одном случае. Все работает хорошо, за исключением того, что я не совсем уверен, что имеет в виду наш профессор, имея «пустую строку» в качестве значения индикатора для завершения циклического ввода.

word_Box = []                 

enter_Word = str(input("\nEnter a word. (Press 'Enter' key if finished.): \n")) #asking for user's input'

while enter_Word != "": #asks for input until user does not have input/pressing Enter key in keyboard
        word_Box.append(enter_Word) #stores every inputted word at the end of the list
        enter_Word = str(input("\nEnter a word (Press 'Enter' key if finished.): \n"))

word_Box = list(dict.fromkeys(word_Box)) #elements of the list is converted to keys of a dictionary to remove duplicates as dictionaries don't allow duplicates
                                                                         #dictionary is converted back to a list

print("\nThe word/s you entered is/are: ", word_Box)   #prints all the elements                                                       

1 Ответ

1 голос
/ 01 февраля 2020

Когда эта строка достигнута внутри l oop

enter_Word = str(input("\nEnter a word (Press 'Enter' key if finished.): \n"))

Если нажата клавиша ввода, то переменная enter_Word = “”

Поскольку это условие выхода вашего l oop l oop остановится, и программа продолжит работу в строке

word_Box = list(dict.fromkeys(word_Box))
...