Faházat szeretnél építeni a házadhoz közeli erdőben, hogy onnan figyelhesd a napkeltét és a naplementét.
Egy helyi felmérőcégtől olyan adatokat szereztél, amelyek megmutatják, milyen magas a térkép egyes téglalap alakú szakaszain álló összes fa. A térkép minden rácsát elemezned kell, hogy megtaláld a faházadhoz megfelelő fákat.
A jó fa egyszerre két feltételnek is megfelel:
Az a feladatod, hogy megtaláld azokat a lehetséges fákat, amelyekre felépíthetnéd a lombházadat.
Egy adatcég az adatokat rácsok formájában adja meg, amelyek a fák magasságát mutatják. A rács sorai a kelet-nyugati irányt, az oszlopai pedig az észak-déli irányt jelölik.
Egy elfogadható fa a legnagyobb a saját sorában, ugyanakkor a legkisebb az oszlopában.
Lehet, hogy egy rácsban egyáltalán nincs jó fa. De az is lehet, hogy egy van, vagy akár több is.
Íme egy rács, amelyben pontosan egy szóba jöhető fa található.
↓
1 2 3 4
|-----------
1 | 9 8 7 8
→ 2 |[5] 3 2 4
3 | 6 6 7 1
Tehát a [2, 1] pont (sor: 2, oszlop: 1) remek hely egy lombház számára.
Néha szükség lehet arra, hogy kivételt dobj. Ilyenkor mindig adj meg beszédes hibaüzenetet, amely megmutatja, mi a hiba forrása. Ettől olvashatóbb lesz a kódod, és a hibakeresést is jelentősen megkönnyíti. Ha tudod, hogy a hiba forrása egy adott típusú lesz, dönthetsz úgy, hogy a beépített hibatípusok egyikét dobod, de ilyenkor is adj meg hozzá beszédes üzenetet.
Ennél a feladatnál a raise utasítást kell használnod ahhoz, hogy »dobj« egy ValueError-t, ha a matrix szabálytalan. A tesztek csak akkor lesznek sikeresek, ha az exception-t is raise-eled, és üzenetet is fűzöl hozzá.
Ha üzenettel szeretnél ValueError-t dobni, az üzenetet a exception típus argumentumaként írd le:
# if the matrix is irregular
raise ValueError("irregular matrix")
Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) Python nyelvet 17 fogalom146 feladat segítségével, valódi emberi mentorálással, mindez ingyen.