-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
3 changed files
with
57 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
Улица,Дом,Активность | ||
пр-кт Ломоносовский,15,да | ||
ул Азовская,11,да | ||
ул Генерала Трошева,24,нет |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
""" | ||
У Вас есть база улиц, по которым нужно совершить рассылку рекламных буклетов. Вам нужно написать код, | ||
который сможет сформировать файл с активными улицами так, чтобы почтальону не приходилось повторно | ||
возвращаться на какую-либо улицу из списка. | ||
Пример списка для рассылки рекламных буклетов: | ||
Улица,Дом,Активный | ||
пр-кт Ломоносовский,15,да | ||
ул Азовская,11,да | ||
пр-кт Ленинградский,29,да | ||
ул Генерала Трошева,24,нет | ||
ул Фёдора Сологуба,60,да | ||
ш Энтузиастов,70,нет | ||
ул Фёдора Сологуба,61,нет | ||
ш Энтузиастов,89,да | ||
ш Энтузиастов,90,да | ||
ш Энтузиастов,79,да | ||
ш Энтузиастов,71,да | ||
ул Генерала Трошева,24,да | ||
ул Генерала Трошева,25,да | ||
ул Азовская,12,да | ||
пр-кт Ломоносовский,30,нет | ||
пр-кт Ломоносовский,21,да | ||
пр-кт Ломоносовский,20,нет | ||
ул Азовская,19,нет | ||
ул Азовская,14,да | ||
Вам нужно: | ||
- прочитать записи из файла (input.csv), | ||
- удалить из списка неактивные улицы и отсортировать список, исходя из условий задачи, | ||
- пересохранить полученные адреса в output.csv. | ||
""" | ||
import csv | ||
|
||
|
||
with open("input.csv", encoding='utf-8') as in_file: | ||
# Создаем объект DictReader, для возможности использования словаря | ||
# указываем символ-разделитель "," | ||
out_list_street = [] # список для записи в выходной файл улиц | ||
out_list_house = [] | ||
|
||
for line in csv.DictReader(in_file): | ||
# проверка на активность домов | ||
if line["Активность"] == "да": | ||
out_list_street.append({line["Улица"]}) | ||
out_list_house.append({line["Дом"]}) | ||
|
||
with open("output.csv", mode="w", encoding='utf-8') as out_file: | ||
file_writer = csv.writer(out_file, delimiter=",", lineterminator="\r") | ||
file_writer.writerow(["Улица", "Дом"]) | ||
for i in range(len(out_list_street)): | ||
file_writer.writerow([out_list_street[i], out_list_house[i]]) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
Улица,Дом{'пр-кт Ломоносовский'},{'15'}{'ул Азовская'},{'11'} | ||
|