Loading...
d_donev avatar d_donev 1 Точки

Ski Trip, Python

days = int(input())
rooms = str(input())
stars = str(input())
price = 0

if days < 10:
    if rooms == 'room for one person':
        price_rooms = (days - 1) * 18
        if stars == 'positive':
            price = price_rooms + (price_rooms * 0.25)
        else:
            price = price_rooms - (price_rooms * 0.1)
    elif rooms == 'apartment':
        price_apart = (days - 1) * 25
        price_apart_2 = price_apart - (price_apart * 0.3)
        if stars == 'positive':
           price = price_apart_2 + (price_apart_2 *0.25)
        else:
            price = price_apart_2 - (price_apart_2 - 0.1)
    elif rooms == 'president apartment':
        price_pres = (days - 1) * 35
        price_presi = price_pres - (price_pres * 0.1)
        if stars == 'positive':
            price = price_presi + (price_presi * 0.25)
        else:
            price = price_presi - (price_presi * 0.1)
elif days >= 10 and days <= 15:
    pass
elif days > 15:
    pass
print(f'{price:.2f}')

Другите две проверки са аналогични на първата, не ги копирам, за да не стане прекалено дълго.

При изхода дава правилни отговори, но Judge дава 80/100 точки. Някакви предложения защо става така?

0
Python
DeveloperEnthusiast avatar DeveloperEnthusiast 303 Точки

Здравей ! 

Проверките както си ги започнал от days < 10 можеш да ги направиш така

if days < 10:  # до 9
    pass
elif days <= 15:  # 10 до 15 
    pass
else:  # > 15
    pass

Също така тази проверка за 'stars' можеш да я направиш най-накрая, за да не я повтаряш на всякъде... и е много вероятно тъй като не си пействаш целия код да имаш някоя изчислителна грешка или нещо подобно...

Това (days - 1) също можеш да си го направиш в променлива 'nights' на пр. или да го извадиш направо от days във входа въпреки, че не е добра практика да се променя потребителския вход

За да си постваш кода използвай https://pastebin.com/

Работещо решение:  https://pastebin.com/ZqLPhCBU

 

1
d_donev avatar d_donev 1 Точки

Благодаря!

Преработих си кода подобно на твоето решение и Judge го прие, пък и така стана по-прегледно. :)

1
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.