У меня есть задание, в котором мне нужно создать программу, которая поможет пользователю выбрать квартиру, просматривая txt-файл разных квартир, вычисляя ежемесячную стоимость и цену за квадратный фут, а затем распечатывая ее.
Текстовый файл должен иметь следующий формат:
Цена
Жилая площадь (в квадратных футах)
Аренда
Номер телефона
Адрес
et c ...
В начале программы пользователю необходимо ввести: текущая процентная рента (%), первоначальный взнос ($) и текущий процентный вычет (%).
Как только все эти данные заполнены, программа рассчитает месячную стоимость, а также цену за квадратный фут квартир по следующей формуле:
monthly_cost = rent + (((price - down_payment)) * (rent) / 100) * (1 - (interest_deduction) / 100))) / 12)
price_per_square_feet = price / living_space
После этого квартиры должны быть распечатаны на экране.
Пользователь должен иметь возможность сделать выбор с помощью меню. Параметры в меню имеют подходящие начальные значения, которые сохраняются в файле конфигурации. Текущие значения указаны в скобках. Пользователь должен иметь возможность изменить их. Меню может выглядеть примерно так:
Мой выбор:
1) Изменить желаемую месячную стоимость (<100 $) </p>
2) Изменить желаемую арендную плату (<60 $) </p>
3) Изменить желаемую цену за квадратные футы (<120 $) </p>
4) Изменить желаемое жилое пространство (> 20 футов ^ 2)
5) Создать выбор
6) Выход
-
Если пользователь, например, хочет изменить ежемесячную стоимость, он должен ответить на вопрос:
Максимальная месячная стоимость ($ ):
-
После ответа на вопрос меню снова появится, но теперь с новым значением ежемесячной стоимости. Когда пользователь доволен параметрами, он должен выбрать «Создать выбор» и должен быть представлен выбор (квартиры, отвечающие требованиям).
Презентация может выглядеть примерно так:
Жилая площадь: 55 футов ^ 2
Цена: 45000 $
Аренда: 120 $
Телефон: 1234 - 413 32 15
Адрес: Gateway Street 2
Ежемесячная стоимость: 231 $
Цена за квадратный фут: 800 $ / фут ^ 2
-
Программа должна выйти один раз пользователь выбирает «Выход». Если пользователь вводит ложные значения в меню или параметры, программа должна указать на ошибку и запросить новый ввод.
Код программы должен содержать хотя бы один класс.
-
Итак, сейчас мне удалось создать список из txt-файла, и я пытаюсь заставить расчеты работать (для ежемесячной стоимости и цены за квадратный фут, для каждого квартира), а затем добавить их к каждой из квартир в созданном списке. Может ли кто-нибудь помочь мне уйти от этого? Это способ go или я должен что-то изменить?
Это мой текущий код:
class Apartment:
def __init__(self, price, rent, living_space):
self.price = int(price)
self.rent = int(rent)
self.living_space = int(living_space)
def monthly_cost_price_per_square_feet(self, rent, down_payment, interest_deduction):
monthly_cost = self.rent + (
((self.price - int(down_payment)) * (int(interest) / 100) * (1 - (int(interest_deduction) / 100))) / 12)
price_per_square_feet = self.price / self.living_space
return monthly_cost, price_per_square_feet
Код ниже находится вне класса
def user_info():
rent = input("Current interest (%): ")
down_payment = input("Down payment ($): ")
interest_deduction = input("Current interest deduction (%): ")
return rent, down_payment, interest_deduction
def create_apartment_list():
with open("apartments.txt", mode="r") as f:
unfinished_list = [rad.strip("\n") for rad in f]
finished_list = [unfinished_list[i:i + 5] for i in range(0, len(unfinished_list), 5)]
return finished_list