Python, открывающий файл и помещающий список имен в отдельные строки - PullRequest
0 голосов
/ 20 ноября 2011

Я пытаюсь написать программу на Python, используя Python 3

Мне нужно открыть текстовый файл и прочитать список имен, распечатать список, отсортировать список в алфавитном порядке и затем, наконец, перепечататьсписок.Это немного больше, чем та, НО проблема, с которой я столкнулся, заключается в том, что я должен напечатать список имен с каждым именем в отдельной строке

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

    def main():

        #create control loop
        keep_going = 'y'

        #Open name file
        name_file = open('names.txt', 'r')

        names = name_file.readlines()

        name_file.close()

        #Open outfile
         outfile = open('sorted_names.txt', 'w')

        index = 0
        while index < len(names):
             names[index] = names[index].rstrip('\n')
             index += 1

        #sort names
        print('original order:', names)
        names.sort()
        print('sorted order:', names)

        #write names to outfile
        for item in names:
            outfile.write(item + '\n')
        #close outfile   
        outfile.close()

        #search names
        while keep_going == 'y' or keep_going == 'Y':

            search = input('Enter a name to search: ')

            if search in names:
                print(search, 'was found in the list.')
                keep_going = input('Would you like to do another search Y for yes: ')
            else:
                print(search, 'was not found.')

                keep_going = input('Would you like to do another search Y for yes: ')



    main()

1 Ответ

2 голосов
/ 20 ноября 2011

Проблема здесь: print('original order:', names). Это печать всего списка в одну строку. Так что печатайте каждый элемент списка в новой строке, вы должны сделать что-то вроде:

print('original order:')
for name in names:
    print(name)
names.sort()
print('sorted order:')
for name in names:
    print(name)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...