Loading...

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

V3lin avatar V3lin 1 Точки

03. Vacation While Loop exercise 77/100

Здравейте,

Моля за съдействие за задача 03. Vacation от While Loop exercise. Джъдж ми дава 77/100, като грешката е Runtime error. Искам да знам защо ми дава тази грешка и къде програмата се чупи.

Ето линк към кода: https://hatebin.com/routmzbihl.

Благодаря предварително

Тагове:
0
svephoto avatar svephoto 1191 Точки

Здравей, V3lin,

 

Дай, ако обичаш и условието на задачата.

0
V3lin avatar V3lin 1 Точки

Здравей,

Ето и условието:

Джеси е решила да събира пари за екскурзия и иска от вас да ѝ помогнете да разбере дали ще успее да събере необходимата сума. Тя спестява или харчи част от парите си всеки ден. Ако иска да похарчи повече от наличните си пари, то тя ще похарчи колкото има и ще ѝ останат 0 лева.

Вход

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

  • Пари, нужни за екскурзията - реално число;

  • Налични пари - реално число.

След това многократно се четат по два реда:

  • Вид действие – текст с две възможности: "spend" или "save";

    • Сумата, която ще спести/похарчи - реално число.

Изход

Програмата трябва да приключи при следните случаи:

  • Ако 5 последователни дни Джеси само харчи, на конзолата да се изпише:

  • "You can't save the money."

  • "{Общ брой изминали дни}"

  • Ако Джеси събере парите за почивката, на конзолата се изписва:

  • "You saved the money for {общ брой изминали дни} days."

0
svephoto avatar svephoto 1191 Точки

ОК, значи все в някакъв момент трябва да прекъснеш цикъла:

 

->Добавяш

    if money_needed <= available_money:
        break

непосредствено след влизането в него и след това вече нямаш Runtime еrror като грешки, а Incorrect answer.

-> Махаш

        if available_money == money_needed:
            print(f'You saved the money for {days_counter} days.')
            break

от проверката elif action == 'save' и слагаш

if spending_counter < 5:
    print(f'You saved the money for {days_counter} days.')

накрая след излизането от цикъла и така вече всичко заработва коректно за 100/100.

 

Освен това, нямаш нужда от тази проверка:

        if available_money < sum_money:
            available_money = 0

спокойно можеш да я махнеш, а също и break-a oт тази след нея, като самата тя да остане, но просто без него.

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