Loading...
byclops avatar byclops 126 Точки

Изпит 14.02.2016 -задача 5

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

Гледам днес доста хора са взели пълен брой точки от петата задача.

Аз така и не успях да докарам втория тест, макар че имах почти 3 часа за целта.

Някой, който е постигнал пълния брой точки ще сподели ли решението си?

Акъла не ми го побира какво не съм съобразил...

 

Тагове:
0
Python
ktodorov avatar ktodorov 42 Точки
Best Answer

Здравей,

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

Може би това ти е грешката :)

3
byclops avatar byclops 126 Точки

Точно това е!

Аз се бях отплеснал да правя проверки на кортктността на данните, понеже бях доста уверен останалата си логика. Направих десетки проверки, дали са точен брой параметрите, дали сред тях няма празни, дали датите се парсват към дати, а цените към float, дали цените са положителни, дали датите съдържат time zone info... Накрая вече изтрещях и взех да проверявам дали няма градове от различни страни с еднакви имена, дали всички данни са в кавички, даже сложих един списък със всички кодове на държави от ISO стандарта и сверявах с него... докато не ми хрумна да пусна един тест който винаги връща "INVALID INPUT" и един с "NO UNIQUE SALES" и разбрах че проблема не ми е във валидацията.

Но вече явно се бях изморил и забил и не можах да си открия грешката в алгоритъма.

Супер, благодаря ти, беше ми ясно че е нещо сравнително просто и много ме тормозеше че не мога да се сетя.

0
go0ogo0o avatar go0ogo0o 4 Точки

Тоест ако даден продукт е продаден само и единствено в един град, но е продаден повече от веднъж, не трябва да участва в крайния резултат?

0
byclops avatar byclops 126 Точки

Ако даден продукт е продаде няколко пъти, но само в един град, се брои за уникален (тоест продаван само в един град). Аз, а предполагам и други, като броях в колко града е продаван продукта, слагах градовете в лист вместо в сет, поради което не ми излизаше единия тест. 

0
RoYaL avatar RoYaL Trainer 6849 Точки

Не знам какъв е тестът, тъй като взех 100/100 с първия събмит. Ето го кода: http://pastebin.com/qujud9JS

1. Проверявам дали файлът го има и се чете

2. Проверявам да не би някой ред да е с по-малко или повече колони

3. Празните редове ги пропускам

4. Парсвам датата, за да съм сигурен, че е валидна дата

5. Проверявам дали цената е флоут, т.е. ако не успее да се парсне към флоут пак ще извадя инвалид инпут

6. Гледам дали файлът не е празен, т.е. ако в сейлс колекцията не съм напълнил нищо

Ииииии май това са проверките. Другото вече е решаване на задачата.

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