Tee tiedosto MyGreeting2.py ja kopioi sen sisällöksi:
class MyGreeting():
def __init__(self):
self.greeting = "Termos!"
def change_greeting(self, new_greeting):
self.greeting = new_greeting
def print_greeting(self):
print(self.greeting)
Tee testiscripti MyClassTest.py, jossa teet kolme vaihetta:
Kutsu luokan metodia "print_greeting" -> oletustervehdys "Termos!" tulostuu
Kutsu luokan metodia "change_greeting" vaihtaaksesi tervehdykseksi "Hei!"
Toista vaihe 1 -> näet nyt uutena tervehdyksenä "Hei!"
Täydennä harjoitusta 1 niin, että luokalla on myös metodi "get_current_greeting", joka palauttaa nykyisen tervehdyksen.
Testaa uusi metodi, vastaavasti kuin Harjoitus 1 testattiin.
Täydennä harjoitusta 1 niin, että perit luokasta "MyGreeting" uuden luokan nimeltä "MyGreetingChild", jossa ylimäärittelet funktion change_greeting niin, että se ei salli asettaa h-kirjaimella alkavaa uutta tervehdystä, vaan tulostaa virhetekstin ruudulle aliluokassa määritellyllä metodilla print_error() (toteuta tämäkin metodi siis aliluokkaan).
Testaa uusi luokka kuten harjoitus 1 kohdalla, mutta varmistu, että et voi asettaa tervehdykseksi "hei", "heippa", tmv. h-alkuisia tervehdyksiä, mutta esim. "Moro" ja "Tere" menevät läpi.
Toteuta luokka "LapTimes" joka ylläpitää kirjaa ratakierrosajoista.
Joka kierroksen lopuksi Laptimes luokan oliolle kerrotaan uusi kierrosaika. Kun 5 kierrosta on täynnä, kysytään laptimes-luokalta mikä oli nopein kierros.
Käytä pohjana seuraavaa mallia:
times = (23, 22, 24, 22, 21)
for _time in times:
<syota uusi kierrosaika oliolle tuplesta>
print "Nopein kierros kesti %d sekuntia" % <kysy nopein kierros oliolta>
Toteuta luokka "ToDoList" (tai useampi luokka tarpeen mukaan) joka ylläpitää listaa tehtävistä taskeista. Toteuta tämän (/näiden) varaan komentoriviohjelma, jonka avulla voit listata todo-listaan asioita, merkata niitä tehdyiksi, sekä poistaa listalta kokonaan. Todo-listan taskille tulee voida antaa takarajapäivä. Ohjelma tulostaa ensin listan taskit, joiden takarajapäivä tulee ensimmäisenä vastaan, lista siis näytetään näin riippumatta siitä missä päivämääräjärjestyksessä taskit on syötetty ohjelmaan.
Copyright © 2025 ELOSOL