Cornici quadrate – 2

Vedi: Cornici quadrate

Utilizza gli operatori delle stringhe per costruire dei modelli di righe da visualizzare

Versione 1

Disegna un quadrato di asterischi

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

NUM = 5

RIGA = ""
for colonna in range(NUM):     
    RIGA += "*"

for riga in range(NUM):     
    print(RIGA)
NUM = 5  

RIGA = NUM*"*"

for riga in range(NUM):      
    print(RIGA)

Versione 2

Disegna una cornice quadrata di asterischi

***** (A)
*   * (B)
*   * (B)
***** (A)

NUM = 5

rigaA = ""  
for colonna in range(NUM):      
    rigaA += "*"  
rigaB = "*"  
for colonna in range(NUM-2):     
    rigaB += " "  
rigaB += "*" 

print(rigaA)  
for riga in range(NUM-2):     
    print(rigaB) 
print(rigaA)
NUM = 5  

rigaA = NUM*"*"  
rigaB = "*" + (NUM-2)*" " + "*"

print(rigaA)  
for riga in range(NUM-2):     
    print(rigaB)  
print(rigaA)

Versione 3

************ (A)
*          * (B)
*          * (B)
*  ******  * (C)
*  *    *  * (D)
*  *    *  * (D)
*  *    *  * (D)
*  *    *  * (D)
*  ******  * (C)
*          * (B)
*          * (B)
************ (A)

Direttamente con la concatenazione…

NUM1 = 12
NUM2 = 6

vuote = (NUM1-NUM2)//2-1
rigaA = NUM1*"*"
rigaB = "*" + (NUM1-2)*" " + "*"
rigaC = "*" + vuote*" " + NUM2*"*" + vuote*" " + "*"
rigaD = "*" + vuote*" " + "*" + (NUM2-2)*" " + "*" + vuote*" " + "*"

print(rigaA)
for riga in range(vuote): 
    print(rigaB)
print(rigaC)
for riga in range(NUM2) : 
    print(rigaD)
print(rigaC)
for riga in range(vuote): 
    print(rigaB)
print(rigaA)

Versione 4

Tre cornici quadrate concentriche

**************** (A)
*              * (B)
*              * (B)
*  **********  * (C)
*  *        *  * (D)
*  *        *  * (D)
*  *  ****  *  * (E)
*  *  *  *  *  * (F)
*  *  *  *  *  * (F)
*  *  ****  *  * (E)
*  *        *  * (D)
*  *        *  * (D)
*  **********  * (C)
*              * (B)
*              * (B)
**************** (A)

NUM1 = 16
NUM2 = 10
NUM3 = 4

vuote1 = (NUM1-NUM2)//2-1
vuote2 = (NUM1-NUM2)//2-1

rigaA = NUM1*"*"
rigaB = "*" + (NUM1-2)*" " + "*"
rigaC = "*" + vuote1*" " + NUM2*"*" + vuote1*" " + "*"
rigaD = "*" + vuote1*" " + "*" + (NUM2-2)*" " + "*" + vuote1*" " + "*"
rigaE = "*" + vuote1*" " + "*" + vuote2*" " + NUM3*"*" + vuote2*" " + "*" + vuote1*" " + "*"
rigaF = "*" + vuote1*" " + "*" + vuote2*" " + "*" + (NUM3-2)*" " + "*" + vuote2*" " + "*" + vuote1*" " + "*"

print(rigaA)
for riga in range(vuote1): 
    print(rigaB)
print(rigaC)
for riga in range(vuote2): 
    print(rigaD)
print(rigaE)
for riga in range(NUM2-2): 
    print(rigaF)
print(rigaE)
for riga in range(vuote2): 
    print(rigaD)
print(rigaC)
for riga in range(vuote1): 
    print(rigaB)
print(rigaA)