Kukin tehtävänanto löytyy .py
-tiedostosta, johon myös ratkaisu tulee toteuttaa.
Voit tallentaa tehtävät itsellesi joko yksitellen, kloonata projektin Gitin avulla tai ladata kaikki tiedostot yhtenä zip-pakettina.
Tehtävänannot sisältävät doctest-testejä, joiden avulla voit testata ohjelmasi toimintaa. Doctest-testit saat suoritettua oletuksena komennolla python3 -m doctest --verbose tiedosto.py
. Mikäli Python on asennettuna sinulla eri nimellä, komento voi olla vaihtoehtoisesti esim. py -m doctest --verbose tiedosto.py
tai python -m doctest --verbose tiedosto.py
.
Huomaa, että automaattisen arvioinnin vuoksi et saa muuttaa funktioiden nimiä etkä niiden parametreja. Ratkaisusi eivät saa myöskään kysyä käyttäjältä tietoja tai tehdä tulosteita, ellei näin ole ohjeistettu tehtävänannossa. Mikäli toteutat omia testejä ja kokeiluja, toteuta ne kurssin tehtävistä tuttuihin if __name__ == "__main__":
-lohkoihin.
Kokeen tehtävänannot ja testit on tallennettu utf-8 -merkistöllä, jota käytetään myös tehtävien automaattisessa tarkastamisessa.
koe koostuu seuraavista tehtävistä, jotka ovat esitetty suuntaa-antavasti haastavuuden mukaan kasvavassa järjestyksessä. Jokaisen tehtävän painoarvo on sama:
Kokeen arvioinnissa hyödynnetään automaattisia testejä, jotka ovat samankaltaisia kuin tehtävänannoissa esitetyt esimerkit. Arvioinneissa käytettäviä testejä on kuitenkin enemmän ja ne testaavat ratkaisujasi eri syötteillä.
Kunkin tehtävän ratkaisu pisteytetään sen mukaan, kuinka suuren osan tehtävälle kirjoitetuista testeistä ratkaisu läpäisee. Automaattisen arvioinnin vuoksi on välttämätöntä, että toteuttamiesi funktioiden nimet ja parametriarvot vastaavat täysin tehtävänantoja. Ohjelmasi ei saa kysyä syötteitä eikä tehdä tulosteita, ellei niitä ole tehtävänannossa erikseen mainittu.
Kokeen ratkaisuissa on sallittua käyttää ainoastaan Pythonin standardikirjastoa. Erikseen esimerkiksi pip-komennolla asennettavat kirjastot, kuten NumPy tai pandas, eivät ole sallittuja. Suosittelemme että käytät kokeessa ainoastaan Pythonin ylläpidettyjä versioita, joita käytetään myös ratkaisujesi automaattisessa arvioinnissa.
Laskulogiikka kokeen arvosanan laskemiseksi tehtäväpisteiden perusteella löytyy kurssin kotisivulta.
Näissä tehtäväpohjissa on hyödynnetty tyyppivihjeitä (type hint), jotka auttavat koodin ymmärtämisessä ja virheiden välttämisessä. Jos tyyppivihjeet sekoittavat sinua tai aiheuttavat ongelmia, voit poistaa ne tehtävistä. Tyyppivihjeiden tarkoituksena on helpottaa tehtävän ratkaisua, mutta niiden käyttö ei ole pakollista.