Помогите работнику банка сформировать очередь на получение ипотеки - вопрос №5000347
В банк на получение ипотеки обратились 20 человек.
Каждому обратившемуся необходимо собрать перечень документов. В файл записать информацию следующего вида: ИНН, ФИО, дата рождения, паспортные данные, гражданство, адрес прописки, Noтрудовой книжки, место работы, должность, средняя годовая заработная плата, зарегистрированная недвижимость.
Из файла работнику необходимо отобрать только тех, кто является гражданином КР и на кого не зарегистрирована квартира или дом (т.е. не является владельцем жилья). Отобранных записать в файл: «На рассмотрение». Из файла «На рассмотрение» отсортировать по убыванию по платежеспособности. Файл перезаписать.
При запросе начальство одобрило выдачу ипотеки только для 5. Поэтому работнику нужно подготовить список только 5 первых людей. Из файла «На рассмотрение» отобрать в файл «Выдача ипотеки» только тех, кому одобрили. Для каждого дополнить информацию данными: Выдана ипотека на сумму **** числа **** под годовой процент **** на срок **** лет. Данные можно вводить с клавиатуры.
Вот примерный код на языке Python, который решает задачу:
import csv
# Считываем информацию обо всех обратившихся в список
with open('документы_ипотеки.csv', 'r', encoding='utf-8') as f:
reader = csv.DictReader(f)
applicants = list(reader)
# Отбираем только граждан КР, у которых нет зарегистрированной недвижимости
selected_applicants = [applicant for applicant in applicants if applicant['гражданство'] == 'КР' and applicant['зарегистрированная недвижимость'] == 'нет']
# Сортируем по убыванию по среднегодовой заработной плате
selected_applicants = sorted(selected_applicants, key=lambda x: float(x['средняя годовая заработная плата']), reverse=True)
# Отбираем первые 5 человек
approved_applicants = selected_applicants[:5]
# Записываем информацию о одобренных кредитах в файл
with open('выдача_ипотеки.csv', 'w', encoding='utf-8', newline='') as f:
fieldnames = ['ИНН', 'ФИО', 'сумма', 'число', 'процент', 'срок']
writer = csv.DictWriter(f, fieldnames=fieldnames)
writer.writeheader()
for applicant in approved_applicants:
# Запрашиваем данные с клавиатуры
amount = input(f«Введите сумму кредита для {applicant['ФИО']}: „)
date = input(f“Введите дату выдачи кредита для {applicant['ФИО']}: „)
interest_rate = input(f“Введите годовой процент для {applicant['ФИО']}: „)
term = input(f“Введите срок кредита для {applicant['ФИО']}: „)
writer.writerow({'ИНН': applicant['ИНН'], 'ФИО': applicant['ФИО'], 'сумма': amount, 'число': date, 'процент': interest_rate, 'срок': term})
Примечание: перед запуском кода необходимо создать файл “документы_ипотеки.csv» с данными обо всех обратившихся, как описано в задании. Также перед записью информации о кредитах в файл «выдача_ипотеки.csv», необходимо создать заголовок для него вручную или добавить код, который будет создавать заголовок автоматически.
Добрый день. Меня заинтересовал ваш ответ "Вот примерный код на языке Python, который решает задачу:
import csv
# Считываем информацию об..." на вопрос http://www.liveexpert.org/topic/view/5000347-pomogite-rabotniku-banka-sformirovat-ochered-na-poluchenie-ipoteki. Можно с вами обсудить этот ответ?