Помогите работнику банка сформировать очередь на получение ипотеки - вопрос №5000347

В банк на получение ипотеки обратились 20 человек.
 Каждому обратившемуся необходимо собрать перечень документов. В файл записать информацию следующего вида: ИНН, ФИО, дата рождения, паспортные данные, гражданство, адрес прописки, Noтрудовой книжки, место работы, должность, средняя годовая заработная плата, зарегистрированная недвижимость.
 Из файла работнику необходимо отобрать только тех, кто является гражданином КР и на кого не зарегистрирована квартира или дом (т.е. не является владельцем жилья). Отобранных записать в файл: «На рассмотрение».  Из файла «На рассмотрение» отсортировать по убыванию по платежеспособности. Файл перезаписать.
 При запросе начальство одобрило выдачу ипотеки только для 5. Поэтому работнику нужно подготовить список только 5 первых людей. Из файла «На рассмотрение» отобрать в файл «Выдача ипотеки» только тех, кому одобрили. Для каждого дополнить информацию данными: Выдана ипотека на сумму **** числа **** под годовой процент **** на срок **** лет. Данные можно вводить с клавиатуры.
Вопрос задан анонимно
14.12.22
1 ответ

Ответы

Вот примерный код на языке 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», необходимо создать заголовок для него вручную или добавить код, который будет создавать заголовок автоматически.
13.04.23
Посмотреть всех экспертов из раздела Технологии > Java/J2EE
Пользуйтесь нашим приложением Доступно на Google Play Загрузите в App Store