Ввод нескольких тестов построчно
Входные данные содержат одно или несколько тестовых заданий. В каждой строке содержится по одному тестовому заданию. Каждая строка содержит день название месяца и год Количество тестовых заданий не превышает 100000
Ввод:
1 January 2020
31 December 2022
Вывод
Wednesday
Saturday
Саму задачу я сделал, но как сделать ввод нескольких значений не знаю. Если делаю так:
import datetime
data = []
while True:
text = input()
if not text:
break
day, m, year = text.split()
day = int(day)
year = int(year)
datetime_object = datetime.datetime.strptime(m, "%B")
...
то Яндекс контест выводит ошибку EOFError: EOF when reading a line
Ответы (3 шт):
Автор решения: Аркадий
→ Ссылка
Попробуйте сначала записать все вводимые данные в лист
input_data = []
while True:
text = input()
if not text:
break
input_data.append(text)
а потом уже их обработать (вне первого цикла while):
for e in input_data:
# обработка:
day, m, year = e.split()
...
Автор решения: SergFSM
→ Ссылка
слегка подправил ваш код, теперь он работает:
import datetime
while True:
text = input()
if not text:
break
w = datetime.datetime.strptime(text, '%d %B %Y').strftime('%A')
print(w)
ввод-вывод:
1 January 2020
Wednesday
31 December 2022
Saturday
Автор решения: Alex
→ Ссылка
Ввести получилось только через файл:
import datetime
ifile = open("input.txt", "r")
dates = [line.rstrip() for line in ifile.readlines()]
for date in dates:
day, m, year = date.split()
day = int(day)
year = int(year)
# ...