ASIX-M3-UF1-A2.4-Solucions Exercicis estructura iterativa: for

De wikiserver
Dreceres ràpides: navegació, cerca

A2.4 Exercicis estructura iterativa

1. Imprimir els números del 1 al 100.

print("Imprimir els números del 1 al 100")

for i in range(1,101):
  print(i ,end= " ")

2. Imprimir els números parells del 0 al 98.

print("Imprimir els números parells del 0 al 98")

for i in range(0,100,2):
  print(i ,end= " ")

3. Imprimir els números del 100 al 1.

print("Imprimir els números del 100 al 1")

for i in range(100,0,-1):
  print(i ,end= " ")

4. Demanar cinc números i mostrar la suma.

print("Demanar cinc números i mostrar la suma")

suma = 0
for _ in range(5):        
  valor = int(input("Introdueix un valor: "))
  suma += valor
print("La suma és: %d" %suma)

5. Igual que l'anterior però només sumant els valors més grans de 10.

print("Demanar cinc números i sumar els valors que siguin més grans de 10")

suma = 0
for _ in range(5):        
  valor = int(input("Introdueix un valor: "))
  if valor > 10:
    suma += valor
print("La suma és: %d" %suma)

6. Calcular el producte dels números del 1 al 10.

print("Calcular el producte dels números del 1 al 10")

mult =1
for i in range(1,11):
    mult=mult*i
print("EL resultat és: ", mult)

7. Demanar cinc números enters positius i mostrar el valor més gran.

print("Demanar cinc números enters positius i mostrar el valor més gran")

max = 0
for _ in range(5):
  num = int(input("Introdueix un enter positiu: "))           
  if num > max:
    max = num
print("El màxim és: ", max)

8. Fer un quadrat d'asteriscos. Per exemple si l'usuari introdueix el valor 5, imprimirà:

    * * * * *
    * * * * *
    * * * * *
    * * * * *
    * * * * *
print("Quadrat n x n d'asteriscos")

num = int(input("Introdueix número d'asteriscos: ")) 
for _ in range(num):
   print("* "*num)

9. Com l'anterior però fent un quadrat buit. Per exemple si l'usuari introdueix el valor 5, imprimirà:

    * * * * *
    *       *
    *       *
    *       *
    * * * * *
print("Quadrat n x n d'asteriscos buit")

num = int(input("Introdueix número d'asteriscos: ")) 
for i in range(1, num+1):
   if (i == 1 or i == num):
     print("* "*num)
   else:
     print("* ",end='')
     print("  "*(num-2), end='')
     print("*")

10. Realitzar un programa que mostri el següent dibuix per a un nombre de línies demanat a l'usuari (a l’exemple 5)

    * 
    * * 
    * * * 
    * * * * 
    * * * * *
print("Dibuix amb asteriscos de num línies")

num = int(input("Introdueix el número de línies: ")) 
for i in range(1, num+1):
   print("* "*i)

11. Realitzar un programa que mostri el següent dibuix per a un nombre de línies demanat a l'usuari (a l’exemple 5)

    * * * * *
    * * * * 
    * * * 
    * * 
    * 
print("Dibuix amb asteriscos de num línies")

num = int(input("Introdueix el número de línies: ")) 
for i in range(num, 0, -1):
   print("* "*i)

12. Realitzar un programa que mostri el següent dibuix per a un nombre de línies demanat a l'usuari (a l’exemple 5)

            *
          * *
        * * *
      * * * *
    * * * * *
print("Dibuix amb asteriscos de num línies")

num = int(input("Introdueix el número de línies: ")) 
for i in range(1,num+1):
   print("  "*(num-i), end='')
   print("* "*i)

13. Realitzar un programa que mostri el següent dibuix per a un nombre de línies demanat a l'usuari (a l’exemple 5)

    * * * * *
      * * * *
        * * *
          * *
            *
print("Dibuix amb asteriscos de num línies")

num = int(input("Introdueix el número de línies: ")) 
for i in range(num):
   print("  "*i, end='')
   print("* "*(num-i))

Bucles niuats

14. Escriu un programa que llegeixi un número num i mostri per pantalla el següent:

    Exemple num=5
    1
    1 2
    1 2 3
    1 2 3 4 
    1 2 3 4 5
print("Dibuix amb números consecutius")

num = int(input("Introdueix un número enter positiu: ")) 
for i in range(1,num+1):
   for j in range(1,i+1):
      print(j, end='')
   print("")

15. Escriu un programa que llegeixi un número i mostri per pantalla el següent:

    Exemple num=5

    5 4 3 2 1
    4 3 2 1
    3 2 1
    2 1 
    1 
print("Dibuix amb números consecutius")

num = int(input("Introdueix un número enter positiu: ")) 
for i in range(num,0,-1):
   for j in range(i,0,-1):
      print(j, end='')
   print("")

16. Escriu un programa que llegeixi un número i mostri per pantalla el següent:

    Exemple num=5

            1
          2 1
        3 2 1
      4 3 2 1
    5 4 3 2 1
print("Dibuix amb números consecutius decreixents")

num = int(input("Introdueix un número enter positiu: ")) 
for i in range(1,num+1):
   for j in range(1,num-i+1):
     print(" ", end='')
   for j in range(i,0,-1):
     print(j, end='')
   print("")

17. Escriu un programa que llegeixi un número imparell i mostri per pantalla el següent:

    Exemple num=9

    1
    3 1
    5 3 1
    7 5 3 1
    9 7 5 3 1
print("Dibuix amb números consecutius decreixents")

num = int(input("Introdueix un número enter imparell positiu: ")) 
for i in range(1, num+1, 2):
    for j in range(i, 0, -2):
        print(j, end=" ")
    print("")

18. Escriu un programa que llegeixi un número enter més gran que 0 i mostri el factorial de tots els números entre 1 i el número introduït.

    Exemple num = 4

    1! = 1
    2! = 2 * 1 = 2
    3! = 3 * 2 * 1 = 6
    4! = 4 * 3 * 2 * 1 = 24


print("Cálcul del factorial d'un número")

# Introduim el número preparem la sortida.
num = int(input("Introduiex un número enter: "))

# Recòrrer tots els números des de l'1 fins el num
for numactual in range(1, num+1):
    print("%d! =" %numactual, end= " ") 

# Inicialitzem la variable per calcular el factorial
    factorial = 1

# Tractament diferent del factorial de 1
    if numactual > 1:

# Càlcul del factorial del número numactual
       for n in range(numactual,0, -1):

           # Tractament diferent del cas 1
           if n == 1 :
              print("%d = " %n, end= " ") 
           else :
              print("%d * " %n, end= " ") 

           # Acumuelm el producte a cada iteració
           factorial *= n        
    
    # Escribim el resultat del factorial del númeor nuactual 
    print(factorial)

19. Escriu un programa que mostri la següent sortida:

ZYWXVUTSRQPONMLKJIHGFEDCBA
YWXVUTSRQPONMLKJIHGFEDCBA
WXVUTSRQPONMLKJIHGFEDCBA
XVUTSRQPONMLKJIHGFEDCBA
VUTSRQPONMLKJIHGFEDCBA
UTSRQPONMLKJIHGFEDCBA
TSRQPONMLKJIHGFEDCBA
SRQPONMLKJIHGFEDCBA
RQPONMLKJIHGFEDCBA
QPONMLKJIHGFEDCBA
PONMLKJIHGFEDCBA
ONMLKJIHGFEDCBA
NMLKJIHGFEDCBA
MLKJIHGFEDCBA
LKJIHGFEDCBA
KJIHGFEDCBA
JIHGFEDCBA
IHGFEDCBA
HGFEDCBA
GFEDCBA
FEDCBA
EDCBA
DCBA
CBA
BA
A


print("Abecedari invers")

  1. Inicialitzem codi lletra final sempre la 'A'

codiFinal=ord('A')

  1. Codi lletra final varia en cada línia

for codiInicial in range(ord('Z'),ord('A')-1,-1):

   # Recorregut de tots els codis: codiInicial Fixe i codiFinal va variant...
   for codiLletra in range(codiInicial,codiFinal,-1):
       print(chr(codiLletra), end="")
   # Salt de línia
   print("")

20. Realitzar un programa que mostri el següent dibuix per a un nombre de línies demanat a l'usuari (a l’exemple 5)

    1 2 3 4 5
    1 2 3 4 
    1 2 3 
    1 2
    1 
print("Dibuix amb números consecutius")

num = int(input("Introdueix un número enter: ")) 
for i in range(num, 0, -1):
    for j in range(1, i+1):
        print(j, end=" ")
    print("")

21. Realitzar un programa que mostri el següent dibuix per a un nombre de línies demanat a l'usuari (a l’exemple 5)

    1 1 1 1 1
    2 2 2 2 
    3 3 3 
    4 4
    5 
print("Dibuix amb números")

num = int(input("Introdueix un número enter: ")) 
for i in range(1, num+1):
    for j in range(num, i-1, -1):
        print(i, end=" ")
    print("")

22. Realitzar un programa que mostri el següent dibuix per a un nombre de línies demanat a l'usuari (a l’exemple 5)

    5 5 5 5 5
    4 4 4 4 
    3 3 3 
    2 2
    1 
print("Dibuix amb números")

num = int(input("Introdueix un número enter: ")) 
for i in range(num, 0, -1):
    for j in range(1, i+1):
        print(i, end=" ")
    print("")

23. Realitzar un programa que mostri el següent dibuix per a un nombre de línies demanat a l'usuari (a l’exemple 7)

    1 1 1 1 1 1 1
    1 2 3 4 5 6
    3 3 3 3 3
    1 2 3 4
    5 5 5 
    1 2
    7

Amb dos fors:

print("Dibuix amb números")

num = int(input("Introdueix un número enter: ")) 
for i in range(1, num+1):
    for j in range(1, num-i+2):
        if i%2==1 :
            print(i, end=" ")
        else:
            print(j, end=" ")
    print("")

Amb tres fors:

print("Dibuix amb números")

num = int(input("Introdueix un número enter: ")) 
for i in range(1, num+1):
    if i%2==1 :
        for j in range(1, num-i+2):    
            print(i, end=" ")
    else:
        for j in range(1, num-i+2):    
            print(j, end=" ")
    print("")

24. Realitzar un programa que mostri el següent dibuix per a un nombre de línies demanat a l'usuari (a l’exemple 7)

    7 7 7 7 7 7 7
    6 5 4 3 2 1
    5 5 5 5 5
    4 3 2 1 
    3 3 3 
    2 1
    1 


Amb dos fors:

print("Dibuix amb números")

num = int(input("Introdueix un número enter: ")) 
for i in range(num, 0, -1):
    for j in range(i, 0, -1):
        if i%2==1 :
            print(i, end=" ")
        else:
            print(j, end=" ")
    print("")

Amb tres fors:

print("Dibuix amb números")

num = int(input("Introdueix un número enter: ")) 
for i in range(num, 0, -1):
    if i%2==1 :
        for j in range(i, 0, -1):        
            print(i, end=" ")
    else:
        for j in range(i, 0, -1):
            print(j, end=" ")
    print("")