прописные буквы в словах могут быть неправильно расставлены, поэтому нам
нужно исправить это при выводе на экран. В файле также могут быть лишние про-
белы, вам нужно избавиться и от них. Наконец, несмотря на то что было бы логич-
но считать весь файл до конца, по какой-то причине наш менеджер сказал нам
остановиться, если мы встретим слово 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