Напишите программу, которая будет расчитывать общую стоимость бронирования в отеле Summer. Цена за сутки в отеле может

  • 8
Напишите программу, которая будет расчитывать общую стоимость бронирования в отеле Summer. Цена за сутки в отеле может варьироваться в зависимости от дня недели:
- сутки с ПН по ЧТ стоят 2100,
- сутки с ПТ по ВС стоят 2850.
Клиент указал желаемые даты бронирования. Напишите программу, которая будет подсчитывать общую стоимость бронирования. Программа должна выводить только число. Например
Dobryy_Angel
66
Конечно! Вот программа на языке Python, которая решает вашу задачу:

python
def calculate_booking_cost(start_date, end_date):
weekdays_price = 2100
weekends_price = 2850

total_cost = 0

current_date = start_date
while current_date <= end_date:
if current_date.weekday() < 4: # ПН(0) до ЧТ(3)
total_cost += weekdays_price
else:
total_cost += weekends_price
current_date += timedelta(days=1)

return total_cost

start = input("Введите дату начала бронирования (гггг-мм-дд): ")
end = input("Введите дату окончания бронирования (гггг-мм-дд): ")

start_date = datetime.strptime(start, "%Y-%m-%d")
end_date = datetime.strptime(end, "%Y-%m-%d")

cost = calculate_booking_cost(start_date, end_date)

print("Общая стоимость бронирования: ", cost)


Объяснение решения:

1. Мы определяем функцию `calculate_booking_cost`, которая принимает начальную и конечную даты бронирования.
2. Устанавливаем цены на будние и выходные дни.
3. Инициализируем переменную `total_cost` для хранения общей стоимости бронирования, которую мы будем постепенно увеличивать в зависимости от выбранных дат.
4. Мы проходимся по каждой дате от начальной до конечной, используя цикл `while`.
5. Если текущий день недели (используя метод `weekday()` объекта `datetime`) меньше 4, то есть это понедельник до четверга, мы добавляем цену для будних дней к общей стоимости, иначе добавляем цену за выходные дни.
6. После прохода по всем датам возвращаем общую стоимость.
7. В основной части программы мы запрашиваем у пользователя даты начала и окончания бронирования в формате "гггг-мм-дд".
8. Затем мы преобразуем эти строки в объекты `datetime` с помощью `strptime()`.
9. Вызываем функцию `calculate_booking_cost` с этими датами и сохраняем результат в переменную `cost`.
10. Выводим общую стоимость бронирования на экран.

Программа предоставит вам конечную стоимость бронирования на основе выбранных дат. Надеюсь, объяснение поможет вам понять решение! Если у вас есть еще вопросы, пожалуйста, задавайте.