ASIX-M3-UF1-A2.4-Solucions Exercicis estructura iterativa: for
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")
# Inicialitzem codi lletra final sempre la 'A'
codiFinal=ord('A')
# 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)
<pre>
1 2 3 4 5
1 2 3 4
1 2 3
1 2
1
</pre>
<source lang = "python">
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("")