Технологии

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

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

Вопрос задан анонимно декабрь 14, 2022 г.

  • Всего ответов: 1

  • Денис - аватарка

    Денис

    36-й в Психологии

    Вот примерный код на языке 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, 2023 г.