Как исключить «0» из вывода, когда пользователь вводит его?

#python #arrays #input

#питон #массивы #входные данные

Вопрос:

Вот что у меня есть до сих пор:

 # Read input names from user until 0, print input
inputNames = []
names = ""
while names != "0":
    names = input("Please enter a name or enter '0' to quit: ")
    inputNames.append(names)
    if names == "0":
        del inputNames[3]
print("n".join(inputNames))
 

Это было просто быстрое решение, потому что я не могу понять, как исключить «0» из вывода, когда пользователь вводит «0» для печати списка. Таким образом, он должен вводить имена в массив до тех пор, пока не будет введено «0», затем распечатайте массив в порядке ввода в каждой строке за вычетом ввода «0». Мой работает до тех пор, пока введено только 3 имени.

Комментарии:

1. Извините, я не понимаю — в чем ваш вопрос ? Что произошло, когда вы попытались запустить код, и чем это отличается от того, что должно произойти?

2. Когда пользователь вводит, 0 он будет отображаться на экране, потому что так input() оно и работает. Если вы хотите удалить последний элемент в списке, используйте del inputNames[-1] .

Ответ №1:

Проверьте наличие 0 ПЕРЕД добавлением в список:

 inputNames = []
while 1:
    name = input("Please enter a name or enter '0' to quit: ")
    if name == '0':
        break
    inputNames.append(name)
print('n'.join(inputNames))
 

Ответ №2:

поместите «inputNames.pop()» или «inputNames.remove(‘0’)» после цикла while, чтобы удалить ноль.

Комментарии:

1. Спасибо, это привело меня к тому, о чем я не думал, используя remove!

2. # Считывать входные имена от пользователя до 0, выводить входные имена = [] имена = «» в то время как имена ! = «0»: имена = ввод («Пожалуйста, введите имя или введите «0», чтобы выйти: «) Входные имена.добавить (имена), если имена == «0»:inputNames.remove(«0″) print(» n».join(входные имена))

3. кроме того, вам не нужно «if names == 0:», потому что цикл while уже настроен на завершение, если names равно нулю. и тогда вы можете просто удалить 0 из списка вне цикла while.