Izpisi


Smrečice

1. podnaloga

Petvrstično smrečico lahko v Pythonu izpišemo z naslednjim programom:

print("*")
print("**")
print("***")
print("****")
print("*****")

Sestavite program, ki izpiše osemvrstično smrečico.

Uradna rešitev

print("*")
print("**")
print("***")
print("****")
print("*****")
print("******")
print("*******")
print("********")

2. podnaloga

Program za izpis osemvrstične smrečice popravite tako, da namesto niza z $n$ zvezdicami '**...*' uporabite izraz n * '*', na primer namesto niza '*****' uporabite izraz 5 * '*'.

Uradna rešitev

print(1 * "*")
print(2 * "*")
print(3 * "*")
print(4 * "*")
print(5 * "*")
print(6 * "*")
print(7 * "*")
print(8 * "*")

3. podnaloga

Osemvrstično smrečico izpišite z enim samim klicem funkcije print.

Namig: znak za prelom vrstice je "\n".

Uradna rešitev

print(1 * znak + "\n" +
      2 * znak + "\n" +
      3 * znak + "\n" +
      4 * znak + "\n" +
      5 * znak + "\n" +
      6 * znak + "\n" +
      7 * znak + "\n" +
      8 * znak)

4. podnaloga

Osemvrstično smrečico izpišite še desno poravnano. Petvrstična desno poravnana smrečica izgleda takole:

    *
   **
  ***
 ****
*****

Namig: na začetku vsake vrstice izpišite ustrezno število presledkov.

Uradna rešitev

znak = "*"
print(7 * " " + 1 * znak + "\n" +
      6 * " " + 2 * znak + "\n" +
      5 * " " + 3 * znak + "\n" +
      4 * " " + 4 * znak + "\n" +
      3 * " " + 5 * znak + "\n" +
      2 * " " + 6 * znak + "\n" +
      1 * " " + 7 * znak + "\n" +
      8 * znak)

5. podnaloga

Osemvrstično smrečico izpišite še sredinsko poravnano in z razmaki. Petvrstična sredinsko poravnana smrečica z razmaki izgleda takole:

    *
   * *
  * * *
 * * * *
* * * * *

Namig: levi rob je enak kot pri desno poravnani smrečici, za vsakim osnovnim znakom pa je presledek.

Uradna rešitev

znakp = "* "
print(7 * " " + 1 * znakp + "\n" +
      6 * " " + 2 * znakp + "\n" +
      5 * " " + 3 * znakp + "\n" +
      4 * " " + 4 * znakp + "\n" +
      3 * " " + 5 * znakp + "\n" +
      2 * " " + 6 * znakp + "\n" +
      1 * " " + 7 * znakp + "\n" +
      8 * znakp)

Šahovnice

1. podnaloga

Izpišite poln kvadrat, sestavljen iz znaka "+". Velikost kvadrata naj bo shranjena v spremenljivki n. Na primer, če je n = 4, se naj izpiše

++++
++++
++++
++++

Kvadrat naj bo velikosti vsaj $7 \times 7$ znakov.

Uradna rešitev

n = 7
vrstica = n * '+' + '\n'
kvadrat = n * vrstica
print(kvadrat)

2. podnaloga

Izpišite še prazen kvadrat, obrobljen z znakom "+". Velikost kvadrata naj bo shranjena v spremenljivki n. Na primer, če je n = 4, se naj izpiše

++++
+  +
+  +
++++

Kvadrat naj bo velikosti vsaj $7 \times 7$ znakov.

Uradna rešitev

n = 7
polna = n * '+' + '\n'
prazna = '+' + (n - 2) * ' ' + '+' + '\n'
kvadrat = polna + (n - 2) * prazna + polna
print(kvadrat)

3. podnaloga

Napišite program, ki izpiše šahovsko desko razsežnosti $2n \times 2n$. Črna polja naj bodo sestavljena iz znakov "@", bela polja pa iz znakov ".". Velikost polj naj bo shranjena v spremenljivki m. Tudi spremenljivka n mora biti podana.

Na primer, če je m = 2 in n = 3, naj se izpiše:

@@..@@..@@..
@@..@@..@@..
..@@..@@..@@
..@@..@@..@@
@@..@@..@@..
@@..@@..@@..
..@@..@@..@@
..@@..@@..@@
@@..@@..@@..
@@..@@..@@..
..@@..@@..@@
..@@..@@..@@

Uradna rešitev

m = 2
n = 3
vzorec1 = ((m * '@' + m * '.') * n + '\n') * m
vzorec2 = ((m * '.' + m * '@') * n + '\n') * m
kvadrat = (vzorec1 + vzorec2) * n
print(kvadrat)

4. podnaloga

Napišite program, ki izpiše šahovsko desko razsežnosti $2n \times 2n$, na kateri so črna polja oblike

####
####
####
####

bela pa oblike

++++
+  +
+  +
++++

Velikost polj naj bo shranjena v spremenljivki m. Tudi spremenljivka n mora biti podana.

Na primer, če je m=3 in n=2, naj se izpiše:

###+++###+++
###+ +###+ +
###+++###+++
+++###+++###
+ +###+ +###
+++###+++###
###+++###+++
###+ +###+ +
###+++###+++
+++###+++###
+ +###+ +###
+++###+++###

Uradna rešitev

m=3
n=2
crna = m * '#'
bela = m * '+'
prazna = '+' + (m - 2) * ' ' + '+'
vzorec1 = ((crna + bela) * n + '\n' +
           ((crna + prazna) * n + '\n') * (m-2) +
           (crna + bela) * n + '\n')
vzorec2 = ((bela + crna) * n + '\n' +
           ((prazna + crna) * n + '\n') * (m-2) +
           (bela + crna) * n + '\n')
kvadrat = (vzorec1 + vzorec2) * n
print(kvadrat)