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

Изпитна задача "Туристическа Агенция"

Здравейте мога ли да ви помоля за помощ тъй като джъдж ми дава само 50 точки а на изходите всички са ми верни благодаря! :)

Задачата е 3-та от Изпит по "Основи на програмирането" – 6 и 7 юли 2019.

https://pastebin.com/E6MtA91J

 

Туристическа агенция има нужда от система за изчисляване на дължимата сума при резервация. В зависимост от различните дестинации и различните пакети, цената е различна.

Цените за ден са следните:

Цена за ден

Банско/Боровец

Варна/Бургас

с екипировка

без екипировка

със закуска

без закуска

100лв.

80лв

130лв.

100лв.

VIP отстъпка

10%

5%

12%

7%

Ако клиентът е заявил престой повече от 7 дни, получава единия ден безплатно.

Вход

От конзолата се четат 4 реда:

  1. Име на града - текст с възможности ("Bansko",  "Borovets", "Varna" или "Burgas")
  2. Вид на пакета - текст с възможности ("noEquipment",  "withEquipment", "noBreakfast" или "withBreakfast")
  3. Притежание на VIP отстъпка - текст с възможности  "yes" или "no"
  4. Дни за престой - цяло число в интервала [1 … 10000]

Изход

На конзолата се отпечатва 1 ред:

  • Когато потребителят е въвел всички данни правилно, отпечатваме:
    "The price is {цената, форматирана до втория знак}lv! Have a nice time!"
  • Ако потребителят е въвел по-малко от 1 ден за престой, отпечатваме:
    "Days must be positive number!"
  • Когато при въвеждането на града или вида на пакета се въведат невалидни данни, отпечатваме: "Invalid input!"

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

Вход

Изход

Коментар

Borovets

noEquipment

yes

6

The price is 456.00lv! Have a nice time!

Градът е Боровец, а пакетът е без екипировка, съответно цената за ден е 80лв. Клиентът разполага с VIP пакет, така че цената за ден става 80-80*0.05=76лв.Резервацията е за 6 дни, следователно крайната цена е 76*6=456лв.

Bansko

withEquipment

no

2

The price is 200.00lv! Have a nice time!

 

Varna

withBreakfast

yes

5

The price is 572.00lv! Have a nice time!

 

Burgas

noBreakfast

no

4

The price is 400.00lv! Have a nice time!

 

Varna

withBreakfast

no

0

Days must be positive number!

 

Gabrovo

noBreakfast

no

3

Invalid input!

 

0
Programming Basics 15/10/2021 13:26:29
MartinBG avatar MartinBG 3972 Точки

По условие има два възможни варианта за изчислявае на цената: Банско/Боровец и Бургас/Варна, т.е. трябва да обедините логиката им:

 

if city_name in ("Bansko", "Borovets"):
    if type_of_package == "withEquipment":
        price = days_for_stay * 100
        if vip_discount == "yes":
            price *= 0.90
    elif type_of_package == "noEquipment":
        price = days_for_stay * 80
        if vip_discount == "yes":
            price *= 0.95

elif city_name in ("Burgas", "Varna"):
    if type_of_package == "noBreakfast":
        price = days_for_stay * 100
        if vip_discount == "yes":
            price *= 0.83
    elif type_of_package == "withBreakfast":
        price = days_for_stay * 130
        if vip_discount == "yes":
            price *= 0.88

 

1
Kristianrr avatar Kristianrr 3 Точки

Благодаря много! вече съм 100/100 :))

2