Vnořené čtverce

53 views
Skip to first unread message

Jana Velkoborska

unread,
Dec 1, 2020, 11:10:57 AM12/1/20
to djan...@googlegroups.com
Ahoj, prosím o pomoc, už se s tím morduji jak dlouho, mám za úkol
Napište funkci nested_squares(n), která v textové grafice vykreslí n vnořených čtverců 

Zkouším zvýšit proměnnou p o 2 ve vnitřním cyklu, to nefunguje, stále to bere tu globální proměnnou p=0,  zkouším třetí cyklus, který zvýší proměnnou p o 2, to mi sice proměnnou zvýší, ale tiskne jednotlivé čtverce zvlášť n-krát.
Prosím, jak mám zvýšit tu proměnnou p o 2 n-krát?
Nebo to mám celé špatně?
Moc díky. Jana

def nested_squares(n):
    m=n+((n-1)*3)
    p=0
    for i in range(m):
        for j in range(m):
            if (i==p or i==m-p-1) and j>=p and j<=m-p-1:
                print("#", end="")
            elif (j==p or j==m-p-1) and i>=p and i<=m-p-1:
                print("#", end="")
            else:
                print('.',end='')
        print()

Jirka Vejrazka

unread,
Dec 1, 2020, 11:16:29 AM12/1/20
to django-cs
Myslim, ze promennou "p" vubec nepotrebujes. Staci ti jen zjistovat, jestli jsi na lichem radku nebo lichem sloupci...

   Jirka

--
--
E-mailová skupina djan...@googlegroups.com
Správa: http://groups.google.cz/group/django-cs
---
Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny „django-cs“ ve Skupinách Google.
Chcete-li zrušit odběr skupiny a přestat dostávat e‑maily ze skupiny, zašlete e-mail na adresu django-cs+...@googlegroups.com.
Chcete-li tuto diskusi zobrazit na webu, navštivte https://groups.google.com/d/msgid/django-cs/CAAgd4AiC%3Dfu0XGAtCEq-z6iQ__hcb7si%2BzEUGnueRmLGQeHRCg%40mail.gmail.com.

Jana Velkoborska

unread,
Dec 8, 2020, 5:06:59 AM12/8/20
to djan...@googlegroups.com
Ahoj, díky. Sice mi to trvalo, ale povedlo se. Opravdu tvoje rada pomohla.
😉

út 1. 12. 2020 v 17:16 odesílatel Jirka Vejrazka <jirka.v...@gmail.com> napsal:

Radek Svarz

unread,
Dec 18, 2020, 7:32:55 AM12/18/20
to django-cs
Je, to je hezky priklad.

Ja bych vyuzil toho, ze python umi "nasobit" retezce. A ze ten obrazek ma nejake matematicke charakteristiky.
Takze se pak da tisknout po celych radcich s pouzitim 1 cyklu.

Treba takto:

def nested_squares(n):
    sidesize = (n-1)*4+1
    midrownum = sidesize // 2
    
    for rownum in range(sidesize):
        innersidesize = abs(rownum - midrownum)*2+1
        colsize = (midrownum - abs(rownum - midrownum)) // 2
        innerside = ["#", " "][rownum % 2]*innersidesize
        sidebit = ["", "#"][rownum % 2]
        print("# "*colsize+sidebit+innerside+sidebit+" #"*colsize)
       

Diky za priklad pred svatky :)
R
Reply all
Reply to author
Forward
0 new messages