Quadrati, cornici, …

Disegnare un quadrato di asterischi

La dimensione è fissa, DIM=5

*****
*****
*****
*****
def quadrato():
    DIM=5
    for riga in range(DIM):
        for colonna in range(DIM):
            print("*", end="")
        print()

quadrato()
print("Faccio altro...")
quadrato()

La funzione dotata di un parametro, dim, disegna quadrati di dimensione qualsiasi

def quadrato(dim):
    for riga in range(dim):
        for colonna in range(dim):
            print("*", end="")
        print()

quadrato(3)
print("Faccio altro...")
quadrato(5)
print("Faccio ancora altro...") 
quadrato(7)

Esercizi

  1. Disegnare rettangoli: 2 parametri, nrighe, ncolonne.
  2. Scegliere il carattere di riempimento: un parametro aggiuntivo, car.

Disegna una cornice quadrata di asterischi

La prima e l’ultima riga sono di tipo A
Le righe intermedie sono di tipo B

*****  (A)
*   *  (B)
*   *  (B)
*   *  (B)
*****  (A)
def cornice(dim):
    for c in range(dim):     # A
        print("*", end="")
    print()
    for r in range(dim-2):   # dim-2 di tipo B
        print("*", end="")
        for c in range(dim-2):
            print(" ", end="")
        print("*")
    for c in range(dim):     # A
        print("*", end="")
    print()
 
cornice(3) 
print("Faccio altro...") 
cornice(5) 
print("Faccio ancora altro...") 
cornice(7)

Funzioni elementari

I blocchi di codice ripetuti o riconoscibili diventano funzioni più piccole.
La stessa funzione è utile per disegnare quadrati e cornici.

def tipoA(dim):
    for c in range(dim):
        print("*", end="")
    print()

def tipoB(dim):
    print("*", end="")
    for c in range(dim-2):
        print(" ", end="")
    print("*")

def cornice(dim):
    tipoA(dim)
    for r in range(dim-2):      
        tipoB(dim)
    tipoA(dim)

def quadrato(dim):
    for r in range(dim):
        tipoA(dim)
 
quadrato(3) 
print("Faccio altro...") 
cornice(5) 
print("Faccio ancora altro...") 
quadrato(7)
print("Faccio ancora altro...") 
cornice(9)

Esercizi

  1. Disegnare cornici rettangolari.
  2. … con un carattere a scelta.
  3. Cornici concentriche (difficile)