Професионална програма
Loading...
+ Нов въпрос
Vixy_P avatar Vixy_P 0 Точки

Моля за проверка на следната задача!

1.Хотелска стая

Хотел предлага 2 вида стаи: студио и апартамент. Напишете програма, която изчислява цената за целия престой за студио и апартамент. Цените зависят от месеца на престоя:

Май и октомври

Юни и септември

Юли и август

Студио - 50 лв./нощувка

Студио - 75.20 лв./нощувка

Студио - 76 лв./нощувка

Апартамент - 65 лв./нощувка

Апартамент - 68.70 лв./нощувка

Апартамент - 77 лв./нощувка

Предлагат се и следните отстъпки:

  • За студио, при повече от 7 нощувки през май и октомври : 5% намаление.
  • За студио, при повече от 14 нощувки през май и октомври : 30% намаление.
  • За студио, при повече от 14 нощувки през юни и септември: 20% намаление.
  • За апартамент, при повече от 14 нощувки, без значение от месеца : 10% намаление.

Вход

Входът се чете от конзолата и съдържа точно 2 реда, въведени от потребителя:

  • На първия ред е месецът - May, June, July, August, September или October;
  • На втория ред е броят на нощувките - цяло число.

Изход

Да се отпечатат на конзолата 2 реда:

  • На първия ред: "Apartment: {цена за целият престой} lv."
  • На втория ред: "Studio: {цена за целият престой} lv."

Цената за целия престой да е форматирана с точност до два знака след десетичната запетая.

Примерен вход и изход

Вход

Изход

Обяснения

May

15

Apartment: 877.50 lv.

Studio: 525.00 lv.

През май, при повече от 14 нощувки, намаляваме цената на студиото с 30% (50 - 15 = 35), а на апартамента - с 10% (65 - 6.5 =58.5).

Целият престой в апартамент - 877.50 лв.

Целият престой в студио - 525.00 лв.

Вход

Изход

Вход

Изход

June

14

Apartment: 961.80 lv.

Studio: 1052.80 lv.

August

20

Apartment: 1386.00 lv.

Studio: 1520.00 lv.

 

month = input()
nights = int(input())

studio_price = 0
apartment_price = 0

if month == "May" or month == "October":
    studio_price = 50
    apartment_price = 65
    if 7 > nights <= 14:
        studio_price = studio_price - (studio_price * 0.05)
    elif nights > 14:
        studio_price = studio_price - (studio_price * 0.30)
elif month == "June" or month == "September":
    studio_price = 75.20
    apartment_price = 68.70
    if nights > 14:
        studio_price = studio_price - (studio_price * 0.20)
elif month == "July" or month == "August":
    studio_price = 76
    apartment_price = 77

if nights > 14:
    apartment_price = apartment_price - (apartment_price * 0.10)

total_apartment_price = apartment_price * nights
total_studio_price = studio_price * nights

print(f"Apartment: {total_apartment_price:.2f} lv.")
print(f"Studio: {total_studio_price:.2f} lv.")
 

Judje ми даде 80/100 за това решение.  Имам ли грешка някъде?

 

 

 

0
Programming Basics
svephoto avatar svephoto 1114 Точки

Здравей, Vixy_P,

 

Виж какво ще стане, ако промениш малко проверката за Май и Октомври от

if 7 > nights <= 14:
    studio_price = studio_price - (studio_price * 0.05)
elif nights > 14:
    studio_price = studio_price - (studio_price * 0.30)

на

if nights > 14:
    studio_price = studio_price - (studio_price * 0.30)
elif nights > 7:
    studio_price = studio_price - (studio_price * 0.05)
1
10/01/2022 16:09:30
Vixy_P avatar Vixy_P 0 Точки

Много Ви благодаря за помощта! И също че не ме смъмрихте за глупавата ми грешка. 1 знак съм объркала.

0