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

9. * Hello, France 0 / 100 ????????

Здравейте Колеги,

 

извинявам се че малко питам в повече, явно колкото си мислих че съм ги разбрал, се оказа че не съм.

Някой можели да ми даде идея защо ми дава 0/100 , първите ми два Zero теста са ок в Judje, но после ... всичко е грешно

https://pastebin.com/q9b7Li1w

 

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

 

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

 

 

Тагове:
0
Python Fundamentals
icowwww avatar icowwww 1153 Точки
Best Answer

Здравей,

Трябва само резултата да е форматиран до 2 знак. За да не се объркват сметките, като използваш round и отделно за да няма проблем при получени числа без да имат 2 или повече знака(например с това round от цяло число 15 ще получиш 15.0 , а не 15.00) го премахнах и промених навсякъде, където се ползвa el1[1] да е единствено като float изнесено в променлива val във всеки случай.

След това в принтирането форматиране до 2ри знак 

print(f'Profit: {profit:.2f}')

Надявам се да не е прекалено променено решението: https://pastebin.com/iCUm1VCB

Като цяло това може да се оптимизира доста предвид това, че и трите случая правят едно и също. Например още в началото ако самите проверки да се изнесат в началото на цикъла и да се обърнат- да проверяват ако не покрива условието да се дава continue- следваща итерация. И сметките да са директно долу записани веднъж. Например нещо такова в началото на цикъла

el1 = elements.split('->')
wear = el1[0]
val = float(el1[1])
if (wear != "Clothes" and val > 50.0) \
                or (wear != "Shoes" and val > 35.0) \
                or (wear != "Accessories" and val > 20.50):
    continue

1
09/06/2021 22:21:17