Как сохранить согласованность нового межстрочного интервала

#python

#python

Вопрос:

Как показано на распечатке, каждая строка должна состоять из имени, символы которого были перевернуты, за которым следует дата рождения, формат которой был преобразован в европейский формат.

Однако в последней строке две из этих строк выводятся рядом друг с другом без пробела. Мне было интересно, как избежать этого и напечатать оба имени / даты рождения в отдельных строках, как те, что над ними.

 def mirror(text): 
    back = ""
    for i in range(1, len(text)):
        back = back   text[len(text) - i]
    return back 
while True: 
    try: 
        file = input('Please enter the name of the file you would like to open: ') 
        text = open(file) 
        break 
    except: 
        print('Please enter a valid file.')
        continue 
lines = text.readlines()
for line in lines: 
    part = line[0:8].split('/') 
    dd = part[0]
    mm = part[1] 
    yy = part[2] 
    text = line[8:] 
    name = mirror(text)
    print(name   " "   mm   '/'   dd   '/'   yy, end = "")
  

Фактические результаты:

 senoJ moT 02/01/00
senoJ moT 02/01/00
senoJ moT 02/01/00
senoJ moT 02/01/00
senoJ moT 02/01/00senoJ moT 02/01/00
  

в то время как те, которые я хотел бы:

 senoJ moT 02/01/00
senoJ moT 02/01/00
senoJ moT 02/01/00
senoJ moT 02/01/00
senoJ moT 02/01/00
senoJ moT 02/01/00
  

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

1. Голый текст except никогда не бывает очень хорошей идеей.

2. Ваша новая строка находится в конце каждой строки в lines списке. Переворачивание text приводит к тому, что новые строки печатаются в первую очередь. Итак, пропущенная новая строка вызвана тем, что ваш файл не заканчивается символом новой строки.

Ответ №1:

По умолчанию для end атрибута функции печати добавляется символ новой строки в конец строки. С end = "" вы сказали, что вам ничего не нужно в конце. Удалите это, и это должно обеспечить желаемый результат.

Кроме того, если вы не используете with open as соглашение для работы с файлами, вам придется сделать это text.close() , когда вы закончите с этим.