Kurzusok
/
Python
Python
/
Feladatok
/
Goszámlálás
Goszámlálás

Goszámlálás

Közepes

Utasítások

Számold meg a megszerzett pontokat egy Go-táblán.

A Go játékában (amely baduk, igo, cờ vây és wéiqí néven is ismert) pontokat úgy szerezhetsz, hogy a köveiddel teljesen körbeveszel üres metszéspontokat. Egy játékos körbevett metszéspontjait a területének nevezzük.

Számítsd ki minden játékos területét. Felteheted, hogy az ellenséges területen rekedt kövek már lekerültek a tábláról.

Határozd meg azt a területet, amely tartalmaz egy megadott koordinátát.

Egyszerre több üres metszéspont is körbevehető, és a körbevételnél csak a vízszintes és függőleges szomszédok számítanak. A következő ábrán a számító kövek „O” jelölést kaptak, a nem számítók pedig „I” jelölést (figyelmen kívül hagyott). Az üres helyek az üres metszéspontokat jelentik.

+----+
|IOOI|
|O  O|
|O OI|
|IOI |
+----+

Pontosabban: egy üres metszéspont akkor része egy játékos területének, ha az összes szomszédja vagy az adott játékos köve, vagy olyan üres metszéspont, amely az adott játékos területének része.

További információért nézd meg a Wikipédiát vagy a Sensei's Library oldalt.

Kivételüzenetek

Néha szükség lehet arra, hogy kivételt dobj. Amikor ezt teszed, mindig adj meg egy beszédes hibaüzenetet, amely megmutatja, mi a hiba forrása. Ez olvashatóbbá teszi a kódot, és nagyban segíti a hibakeresést. Ha tudod, hogy a hiba forrása egy bizonyos típusú lesz, dönthetsz úgy, hogy a beépített hibatípusok egyikét dobod, de ilyenkor is adj meg beszédes üzenetet.

Ebben a feladatban a raise utasítással kell „dobnod” egy ValueError-t, ha érvénytelen koordinátákat kapsz. A tesztek csak akkor lesznek sikeresek, ha raise-elsz egy exception-t, és üzenetet is megadsz hozzá.

Ha üzenettel szeretnél ValueError-t dobni, írd az üzenetet a exception típus argumentumaként:

# when the coordinates for the piece are invalid
raise ValueError('Invalid coordinate')
Szerkesztés GitHubon A hivatkozás új ablakban vagy lapon nyílik meg
Python Exercism

Készen állsz elkezdeni a(z) Goszámlálás 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.