17. Judicis `` `` anity

Es diu que una estructura de programació està nidificada quan es troba dins d'una altra.

Cada nivell addicional amb una altra instrucció `` per '' El codi amb sagnat haurà d'escriure, és a dir, amb espais a l'esquerra.

Aquest és un exemple amb la instrucció `` `` nidificada en dos nivells que genera una taula de multiplicació

print('Tabla de multiplicar:')
print('\t1\t2\t3\t4\t5\t6\t7\t8\t9\t10')

for i in range(1, 11):
    print(i, end='\t')
    for j in range(1, 11):
       print(i*j, end='\t')
    print()

Resultat

Tabla de multiplicar:
    1   2   3   4   5   6   7   8   9   10
1   1   2   3   4   5   6   7   8   9   10
2   2   4   6   8   10  12  14  16  18  20
3   3   6   9   12  15  18  21  24  27  30
4   4   8   12  16  20  24  28  32  36  40
5   5   10  15  20  25  30  35  40  45  50
6   6   12  18  24  30  36  42  48  54  60
7   7   14  21  28  35  42  49  56  63  70
8   8   16  24  32  40  48  56  64  72  80
9   9   18  27  36  45  54  63  72  81  90
10  10  20  30  40  50  60  70  80  90  100

El personatge '\ t' significa tabulació i serveix per separar dos números en 8 caràcters.

Exercicis

  1. Escriviu un programa que sol·liciti un número i respon si aquest número és el resultat de multiplicar dos números en el rang d’1 a 10.

    Pista

    num = input('Escribe un número: ')
    num = int(num)
    
    for i in range(1, 11):
        for j in range(1, 11):
            if ... :
                print('El número', num, 'es igual a', i, 'x', j)
    
  2. Escriviu un programa que generi un triangle asteriscs gràcies a un bucle imbricat. A la primera línia, heu de dibuixar un asterisc. A la segona línia, heu de dibuixar dos asteriscs. Continuarà traient deu asteriscs a la desena línia

    Pista

    for i in range(...):
        for j in range(...):
            print('*', end='')
        print()  # Nueva línea
    

    Sortida

    *
    **
    ***
    ****
    *****
    ******
    *******
    ********
    *********
    **********
    
  3. Modifica el programa anterior per imprimir un triangle de números com es mostra a continuació

    1
    22
    333
    4444
    55555
    666666
    7777777
    88888888
    999999999
    
  4. Dibuixa un triangle invertit que comença amb 10 asteriscs i acaba amb un sol asterisc.

    Sortida

    **********
    *********
    ********
    *******
    ******
    *****
    ****
    ***
    **
    *
    
  5. Escriviu un programa que dibuixi un escacs d’asteriscs amb un bucle imbricat que imprimeix un asterisc quan la suma de les dues coordenades és divisible per 2. En cas contrari, heu d’imprimir un espai.

    La mida de la graella serà de 10 files per a 10 columnes.

    Recordeu que al final de cada línia s’ha d’imprimir una nova línia amb el `` imprimir () `.

    Pista

    for i in range(...):
        for j in range(...):
            if (i + j) % 2 == 0:
                ...
            else:
                ...
        ...
    

    Sortida

    * * * * *
     * * * * *
    * * * * *
     * * * * *
    * * * * *
     * * * * *
    * * * * *
     * * * * *
    * * * * *
     * * * * *
    
  6. Modifiqueu el programa anterior per dibuixar un altre patró de punts. Cada punt apareixerà quan la suma de les seves coordenades sigui divisible per 3.

    Sortida

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