Moikka!Mitenköhän tän sais tehtyä:
##### # # # # # # #####
mut 50 kertaisena.
oon mallaillu tällasta:
for i in range(50): print("#"*50) print("#", " "*46,"#") print("#", " "*46,"#") print("#", " "*46,"#") print("#"*50)
Ongelmana on että kuvio on oikein mutta looppi tekee sen 50 kertaisena. Onkohan tossa print lauseessa joku parempi tapa tehdä kuvio, laskuria hyödyntäen?
toi kuvio ei ihan näy oikein sen olis tarkotus olla neliö.
Kannattaisi varmaan laittaa ensimmäinen ja viimeinen viiva loopin "ulkopuolelle" ja sitten tehdä sitä väliin tulevaa riviä loopissa vain kerran.
Eli siis tyyliin
print("#"*50) for i in range(48): print("#", " "*46,"#") print("#"*50)
Toimii:)!Kiitos.
Asiaa voi ajatella myös toiselta kannalta. On tarkoitus tulostaa vain yksi kuvio. Kuviossa on 50 riviä, ja rivinvaihtomerkki on \n. Kuvion voi laskea kerralla valmiiksi.
n = 50 print( "#" * n + "\n" + ("#" + " " * (n - 2) + "#\n") * (n - 2) + "#" * n )
Aihe on jo aika vanha, joten et voi enää vastata siihen.