Kurzusok
/
Python
Python
/
Feladatok
/
Nyeregpontok
Nyeregpontok

Nyeregpontok

Könnyű

Bevezetés

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:

  • magasabb minden tőle keletre és nyugatra álló fánál, így a lehető legjobb kilátás nyílik a napkeltére és a naplementére.
  • alacsonyabb minden tőle északra és délre álló fánál, hogy a lehető legkevesebbet kelljen mászni a fákon.

Utasítások

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
  • A 2. sor értékei 5, 3, 2 és 4. A legnagyobb érték az 5.
  • Az 1. oszlop értékei 9, 5 és 6. A legkisebb érték az 5.

Tehát a [2, 1] pont (sor: 2, oszlop: 1) remek hely egy lombház számára.

Kivételüzenetek

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")
Szerkesztés GitHubon A hivatkozás új ablakban vagy lapon nyílik meg
Python Exercism

Készen állsz elkezdeni a(z) Nyeregpontok feladatot?

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.