Una cornice quadrata
Disegna una cornice quadrata di asterischi
***** (A)
* * (B)
* * (B)
***** (A)
Ci sono due tipi di righe
- (A), riga piena di asterischi
- (B), riga vuota
1 2 3 4 5 6 7 8 9 10 11 12 13 |
for colonna in range(NUM): # (A) prima riga piena print("*", end="") print() for riga in range(NUM-2): # (B) NUM-2 righe intermedie print("*", end="") # un asterisco for colonna in range(NUM-2): # NUM-2 spazi print(" ", end="") print("*") # asterisco finale for colonna in range(NUM): # (A) ultima riga piena print("*", end="") print() |
2° versione: gli asterischi occupano la prima e l’ultima riga e la prima e l’ultima colonna…
1 2 3 4 5 6 7 |
for riga in range(1,NUM+1): for colonna in range(1,NUM+1): if(riga == 1) or (riga == NUM) or (colonna == 1) or (colonna == NUM): print("*", end="") else: print(" ", end="") print() |
Due cornici concentriche
Osserva
************ (A)
* * (B)
* * (B)
* ****** * (C)
* * * * (D)
* * * * (D)
* * * * (D)
* * * * (D)
* ****** * (C)
* * (B)
* * (B)
************ (A)
Ci sono 4 tipi di righe
- (A), riga piena di asterischi
- (B), riga vuota
- (C), riga semipiena
- (D), riga semivuota
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
NUM1 =12 NUM2 =6 vuote=(NUM1-NUM2)//2-1 for colonna in range(NUM1): # (A) prima riga piena print("*", end="") print() for riga in range(vuote): # (B) prime righe vuote print("*", end="") for colonna in range(NUM1-2): print(" ", end="") print("*") print("*", end="") # (C) riga semipiena for i in range(vuote): print(" ", end="") for colonna in range(NUM2): print("*", end="") for i in range(vuote): print(" ", end="") print("*") for colonna in range(NUM2-2): # (D) righe semivuote print("*", end="") for i in range(vuote): print(" ", end="") print("*", end="") for colonna in range(NUM2-2): print(" ", end="") print("*", end="") for i in range(vuote): print(" ", end="") print("*") print("*", end="") # (C) riga semipiena for i in range(vuote): print(" ", end="") for colonna in range(NUM2): print("*", end="") for i in range(vuote): print(" ", end="") print("*") for riga in range(vuote): # (B) ultime righe vuote print("*", end="") for colonna in range(NUM1-2): print(" ", end="") print("*") for colonna in range(NUM1): # (A) ultima riga piena print("*", end="") print() |
2° versione: gli asterischi occupano righe e colonne specifiche
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
NUM1=12 NUM2=6 num3=(NUM1-NUM2)//2+1 num4=NUM1-num3+1 for riga in range(1,NUM1+1): for colonna in range(1,NUM1+1): if(riga == 1) or (riga == NUM1) or (colonna == 1) or (colonna == NUM1) or \ ((riga == num3) or (riga == num4)) and (colonna >= num3) and (colonna <= num4) or \ ((colonna == num3) or (colonna == num4)) and (riga >= num3) and (riga <= num4): print("*", end="") else: print(" ", end="") print() |
Continua…
- Tre cornici concentriche?
- Cornici quadrate 2 (tramite stringhe)
- Rettangolo di asterischi (tramite funzioni)