Ulice plná domečků

Jednoduchá úloha pro začínající programátory. Spíše procvičování programování než řešení problému.

Úkol

Vaším úkolem je v souboru solver.py naprogramovat funkci houses(), která bude vracet řetězec, jenž po vytisknutí vytvoří “grafickou” reprezentaci domečků v ulici (pomocí znaků, viz níže). Vstupem funkce bude plán ulice, což je opět řetězec sestávající ze 3 možných znaků: o (malé o) představující “prázdný” domeček, x (malé x) představující “proškrtnutý” domeček a “_” (podtžítko) představující mezeru mezi domečky (volnou parcelu).

Rozměry domečků

Domeček má základnu širokou 9 křížků, zdi z 9 křížků na sobě a střecha jde do výšky 4 křížků. Stojí-li domečky vedle sebe, sdílejí společnou zeď.

Lépe vám napoví příklady níže.

Příklady

Příklady volání funkce houses() a výpisu jejího výstupu vám osvětlí, jak by se funkce měla chovat.

Jediný domeček (parcela)

Konfigurace o

Konfigurace x

Konfigurace _

Několik domečků (parcel) vedle sebe

Když stavíme domečky vedle sebe, mají vždy společnou zeď mezi sebou (jedná se o řadové domky a 2 zdi by byly zbytečné). A stejně pokud je mezi domky jen parcela (nebo je vedle sebe víc parcel), mají zeď nebo hraniční křížek parcely společný.

Konfigurace xoxox

Konfigurace _xo_ox_

Bodování

Funkce bude otestována na několika předem daných a několika náhodně vygenerovaných konfiguracích ulic. Podle poměru správně vygenerovaných výstupů a celkového počtu testů bude kód odměněn příslušnou částí maximálního počtu bodů.

 
ulohy/ulice/start.txt · Last modified: 2022/08/15 11:39 by xposik