Hello, France
Здравейте, имам затруднение с въпросната задача. Дава ми първите два теста верни и всичко друго грешно.
Ако някой, намери време да погледне и даде съвет ще съм много благодарен.
Здравейте, имам затруднение с въпросната задача. Дава ми първите два теста верни и всичко друго грешно.
Ако някой, намери време да погледне и даде съвет ще съм много благодарен.
Здравей
1. Имаш случай, в който прекъсваш цикъла. По условие не трябва да прекъсваш ако бюджета не е достатъчен текущия елемент.
2. В условието се изисква резултата стойностите да се форматират с 2 цифри след десетичния знак, а не да се закръгли. Ти използваш функция round, а след това кастваш към стринг. По този начин обаче се получава разлика:
- С round подаваш число и специфицираш до колко знака да се закръгли. Връща се числов тип.
- С форматиране на число към стринг специфицираш формат и получаваш стринг.
Въпреки че звучи еднакво, в единия случай имаш float, а в другия string. Разликата идва от там, че когато имаме число 0.50, в числов тип променлива се пази като 0.5(нулата не носи никаква информация и е равно на 0.50), но ако трябва да я пазим в стринг последната нула носи информация за още един символ. Например
0.5 == 0.50 True
'0.5' == '0.50' False
Затова когато правиш когато форматираш 0.5 с .2f ще получиш '0.50', но когато закръглиш до два знака 0.5 и след това го кастнеш към стринг ще получиш '0.5'