Premikanje na mestu
Tale domača naloga ima ogromno besedila, dolge teste in trivialno kratke rešitve.
Napišite funkcijo
premik(koordinate, smer), ki prejme koordinate sesalca, podane kot seznam z dvema elementoma, in smer, podano kot<,>,^,v. Funkcija ne vrne ničesar, pač pa spremeni koordinate.Program
k = [5, 8] premik(k, ">") # Ta klic ne vrne rezultata!!! print(k)izpiše
[6, 8], ker je funkcijapremikspremenila podani seznam k.Zdaj pa pozabite na svojo funkcijo
premik; predstavljajte si, da je funkcijapremikdrugačna. Vaša vedno premakne sesalec, ona, druga, pa morda včasih ne (ker ima sesalec, na primer, prazno baterijo). Tako kot vaša pa tudi ona funkcija ne vrača ničesar, temveč le spremeni (ali pa ne spremeni) podani seznam.Napišite funkcijo
premik_ali_ne(koordinate, smer), ki pokliče funkcijopremik, da premakne sesalec in potem vrneTrue, če se je sesalec dejansko premaknil inFalse, če se ni.k = [5, 8] p = premik_ali_ne(k, ">") print(p, k)Izpiše bodisi
False [5, 8](če se sesalec ni premaknil) bodisiTrue [...neke-druge-koordinate...](če se je premaknil).Vaša funkcija bo videti takole:
def premik_ali_ne(koordinate, smer): # tu bo morda kaj kode premik(koordinate, smer) # morda še kaj kode # return nekajTesti za to domačo nalogo bodo v resnici zamenjevali vašo funkcijo z drugačnimi funkcijami
premik, ki bodo premaknili sesalec (morda tudi za več polj...) ali pa tudi ne.Pomembno je, da vaša funkcija kliče funkcijo
premikin ne poskuša "uganiti", ali bo/je le-ta premaknila sesalca, temveč po klicu preveri, ali se je sesalec dejansko premaknil ali ne.
Testi
- 10 3월 2026, 6:44 PM