Annettuna on sanaruudukko ja tehtäväsi on etsiä sieltä sanoja. Sana voi kulkea pysty-, vaaka- tai vinosuunnassa etuperin tai takaperin.
Toteuta tiedostoon wordgrid.py
luokka WordFinder
, jossa on seuraavat metodit:
set_grid
: metodille annetaan sanaruudukon sisältö listana, joka esittää ruudukon rivit merkkijonoinacount
: laskee annetun sanan esiintymiskerrat ruudukossa
Jos sana voidaan lukea useaan suuntaan samoista ruudukon kirjaimista, metodin count
tulee laskea tällaiset esiintymät vain yhtenä esiintymiskertana.
Luokkasi toimintaa testataan erilaisilla ruudukoilla. Jokaisessa ruudukossa leveys ja korkeus on enintään 20 merkkiä. Jokainen merkki on kirjain välillä A
–Z
.
class WordFinder: def set_grid(self, grid): # TODO def count(self, word): # TODO if __name__ == "__main__": grid = ["TIRATIRA", "IRATIRAT", "RATIRATI", "ATIRATIR"] finder = WordFinder() finder.set_grid(grid) print(finder.count("TIRA")) # 7 print(finder.count("TA")) # 13 print(finder.count("RITARI")) # 3 print(finder.count("A")) # 8 print(finder.count("AA")) # 6 print(finder.count("RAITA")) # 0