Простой Python. современный стиль программирования - читать онлайн бесплатно полную версию книги . Страница 283

ленные запятыми, и вывести их на экран в формате «столица, страна». Учтите, что

прописные буквы в словах могут быть неправильно расставлены, поэтому нам

нужно исправить это при выводе на экран. В файле также могут быть лишние про-

белы, вам нужно избавиться и от них. Наконец, несмотря на то что было бы логич-

но считать весь файл до конца, по какой-то причине наш менеджер сказал нам

остановиться, если мы встретим слово quit (состоящее из смеси прописных и строч-

ных букв). Так выглядит файл с данными:

France, Paris

venuzuela,caracas

LithuniA,vilnius

quit

Разработаем алгоритм (способ решения задачи). Это псевдокод, он выглядит

как программа, но является лишь способом выразить логику простым языком до

преобразования его в настоящую программу. Одна из причин, по которым про-

граммисты любят Python, — он выглядит очень похожим на псевдокод, поэтому

его не так трудно преобразовать в рабочую программу:

для каждой строки в текстовом файле

считать строку

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

если найдена строка "quit" в строке, записанной в нижнем регистре

остановиться

иначе

разделить страну и столицу символом запятой

удалить пробелы в начале и конце

записать страну и столицу с прописной буквы

вывести на экран столицу, запятую и страну

Нам нужно удалить из имен начальные и конечные пробелы, поскольку это

является требованием к программе. Аналогично мы поступаем со сравнением со стро-

кой quit и записью названий страны и города с прописной буквы. Имея это в виду,

напишем файл capitals.py, который точно будет работать корректно:

def process_cities(filename):

with open(filename, 'rt') as file:

for line in file:

line = line.strip()

if 'quit' in line.lower():

return

country, city = line.split(',')

364

Глава 12. Быть питонщиком

city = city.strip()

country = country.strip()

print(city.title(), country.title(), sep=',')

if __name__ == '__main__':

import sys

process_cities(sys.argv[1])

Протестируем программу с помощью файла, созданного ранее. На старт,

старт, вни-

вни-

мание, марш:

$ python capitals.py cities1.csv