Как выглядит строчка кода, если формат вывода в яндекс. контесте не стандартный, а output.txt

f = open('input.txt')
lines = f.readlines()
striplines = [line.strip() for line in lines]
n = int(striplines[0])
names = striplines[1:n+1]
dates = striplines[n+1:]
    for i,k in zip(names,dates):
     print(i,k, sep='\t')
f.close()

Недавно начал изучать python. Не могу понять, как прописать код так, чтобы форматом вывода был output.txt, а не print. Пытался разобраться сам или найти в интернете, но все равно не могу понять.


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

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

Ввиду невозможности воспроизвести Ваш код (input.txt Вы не приложили) не совсем понимаю что Вы ожидаете увидеть в output.txt. Отвечаю на вопрос на собственном примере

lines = [
    '123',
    '456',
    '789'
]

with open('output.txt', 'w', encoding='utf-8') as output:
    for line in lines:
        print(line, file=output)

with open('output2.txt', 'w', encoding='utf-8') as output:
    for line in lines:
        output.write(line + '\n')

with open('output3.txt', 'w', encoding='utf-8') as output:
    output.write('\n'.join(lines))
→ Ссылка
Автор решения: Vingsli Vanister
f = open('input.txt')
lines = f.readlines()
stripped_lines = [line.strip() for line in lines]
n = int(stripped_lines[0])
names = stripped_lines[1:n+1]
dates = stripped_lines[n+1:]
for a,b in zip(names,dates):
  print(a,b, sep='\t')
f.close()
with open('output.txt', 'w', encoding='utf-8') as output:
 for a,b in zip(names,dates):
   output.write(a + '\t' + b + '\n')

Дело было в формате вывода. Оказалось все гораздо проще, чем я думал, спасибо за помощь!

→ Ссылка