при вводе данных, считывает только одну строку

a = [str(i) for i in input().split()]
print(f'г. {a[0]}, ул.{a[1]}, д. {a[2]}, кв. {a[3]}')
 Test input:
=========
  Москва 
  Воздвиженка
  9
  1

каждый элемент с новой строки, но вводится за один раз


Ответы (1 шт):

Автор решения: Dmitry

в конце каждой строке у вас знак перевода строки, который означает нажатие на Enter. Если вы используете стандартный ввод, то так работать не будет.

Что можно сделать

  1. Подавать данные в строку
    Москва Воздвиженка 9 1
    
  2. Определить while до первой пустой строки
    a = []
    while True:
        user_input = input()
        if user_input:
            a.append(user_input)
        else:
            break
    
    Здесь вводить можно столько строк сколько надо, до появления первой пустой строки или другими словами нажатие Enter без введения данных в строку
  3. Отказаться от стандартного ввода input и хранить и подавать данные из переменной/файла
→ Ссылка