Python - Naloga z nizi (Kašča putke Amalije)

Python - Naloga z nizi (Kašča putke Amalije)

Avtor: Dani Sajtl

Besedilo naloge

Putka Amalija se pripravlja na dolgo zimo. Vsak dan v kaščo spravi tri zrna koruze. Napiši program, ki prebere, koliko dni je Amalija nabirala zrna, nato pa nariše zalogo v njeni kašči, kakor vidiš na spodnjem primeru. Za vsako zrno izpiši eno črko "o", ograjice pa so iz znakov "#". Kašča je vedno široka 10 enot, višina pa se prilagodi količini koruze.

Primer: Koliko dni je Amalija nabirala zrnje? 9

############
#ooooooo   #
#oooooooooo#
#oooooooooo#
############

Razmislek na začetku

  • Nalogo bomo lažje rešili, če bomo problem zastavili po vrsticah.
  • Iz primera je razvidno, da imamo tri variante vrstic:

    • prva in zadnja vrstica je ograja sestavljena iz 12-ih znakov #,
    • lahko nimamo ali pa imamo eno ali več polnih vrstic sestavljenih iz znaka # na začetku in koncu ter vmes 10 znakov o,
    • lahko nimamo ali pa imamo največ eno vrstico sestavljenih iz znaka # na začetku in koncu in vmes manj kot 10 znakov o.
  • Izračunali bomo število polnih vrstic z zrnjem in koliko zrnja bo vsebovala preostala "nepolna" vrstica.
  • Za vrstico bi bilo dobro imeti funkcijo, ki bi nam vrnila ustrezno vrstico napolnjeno z n znaki, pri čemer je n število zrn (največ 10).

Potek reševanja naloge

Razširitev naloge

Nalogo bi lahko naredili tudi bolj splošno. Kašča bi lahko bila široka x enot, putka Amalija bi lahko vsak dan spravila v kaščo y zrn, ograja pa bi lahko bila sestavljena iz poljubnega znaka. Poleg števila dni nabiranja zrn bi se ti podatki prebrali na začetku izvajanja programa ali pa bi se program izvedel s klicem funkcije, npr. kasca(sirinaKasce, stDni, zrnNaDan, ograja).

0%
0%