Информация > Предаване на код

Как да (не) си изпращаме задачите
### Накракто * Прочетете си условието **внимателно** и дори няколко пъти. * Убедете се, че пишете и тествате кода си с Python 3.10.x. * Убедете се, че сигнатурата на кода ви съвпада с инструкциите. * Не споделяйте решението си с никого. * Не гледайте чужди решения. * Не използвайте ChatGPT и други подобни, защото * си личи; * нищо няма да научите и това ще си проличи на контролните. * Прегледайте добре кода си през PEP8 очила и го качете. ### Надълго ##### - Python 3.10.x Ако пращате задача за първи път, първо се уверете, че използвате Python 3.10.x ``` $ python -V Python 3.10.8 ``` Ако версията e различна, значи сте на грешна. Качете си Python 3.10, понеже има достатъчно разлики, за да работи едно решение при вас, но да не работи при нас. На някои системи, които имат инсталирани Python 2.x и 3.x, вероятно е нужно да изпълнявате командите с `python3` или `python3.10`. Ако имате затруднения, свържете се с нас. ##### - Сигнатура Всяко домашно има стриктни дефиниции за имената на функции, класове и методи. Важно е да ги следвате, за да можем коректно да изтестваме кода ви. При качване на домашно сайтът автоматично изпълнява тест за сигнатурата на кода ви и в случай на проблем, показва резултат от теста. Независимо от това, че имате грешка, версията е качена, но най-вероятно няма да получи пълния брой точки, така че проверете добре имената на елементите си. ##### - Преписване и споделяне на решения Всички решения стават публични след крайния срок на задачата. Преди това всякакво споделяне на решения е забранено. Това включва: * да пратите решението си на някого; * да го покажете на другарче, за да "почерпи идеи"; * да го сложите някъде публично преди крайния срок (например GitHub). Ако хванем, че сте преписвали, ви късаме без много-много обяснения и губите всичките си точки от задачи. Когато се видим през септември, схемата за оценява продължава да важи за вас и вие продължавате да имате 0 точки от задачи. Това означава, че се борите за 3 или 4. Ако сте много нахални, санкциите могат да бъдат по-тежки. Често виждаме двойка решения, едното от които е променено за да изглежда различно. Това се хваща по-лесно, отколкото си мислите. Имаме достъп до всички задачи, които сте предали, както и до тези на другарчето ви. Ако решим, че случаят е такъв, няма да даваме много обяснения. По-добре не го правете. От друга страна, не се притеснявайте да напишете най-простия възможен код, понеже "други хора ще предадат същото решение". Това също се разпознава лесно и, разбира се, няма да сметнем, че сте преписвали. Пишете най-добрия код, на който сте способни, не споделяйте решенията си и няма да има причина да се притеснявате, че ще помислим, че сте преписвали. ##### - AI Наясно сме, че са се пръкнали десетки инструменти, които могат да пишат читав код, стига да получат читави инструкции. Наясно сме също така, че да напишеш читави инструкции за такъв инструмент е умение, което е полезно и ще става все по-полезно. Ние, обаче, имаме за цел да ви научим да пишете код, а не иснтрукции за контролиране на инструмент, който пише код. Ние ви даваме автоматична среда за тестване на кода, за да направим оценките ви възможно най-обективни, така че очакваме отговорно отношение в замяна. Нека не се налага да се изпитваме с код, написан на листче. ##### - PEP8 Както вече казахме на първата лекция, изключително много държим на качествен код, а не прост работещ. Когато пишете на Python, е задължително да спазвате препоръките на [PEP 8](https://peps.python.org/pep-0008/). Това също ще се гледа и ще ви бъдат отнемани точки при неспазването на което и да е от правилата, написани в този документ.