PRÁTICA 4 – WHILE E FOR
Comandos:
loops while e for
Tarefa:
Copie, cole, compile e execute cada um dos seguintes programas no interpretador online de python ou na IDLE do Python instalada na sua máquina:
Programa 1 – loop while. Repare na indentação!
1 2 3 4 |
i = 1 while i < 6: print(i) i += 1 |
Programa 2 – while com break
1 2 3 4 5 6 |
i = 1 while i < 6: print(i) if i == 3: break i += 1 |
Programa 3 – for comum
1 2 |
for x in range(6): print(x) |
Programa 4 – for nested
1 2 3 |
for x in range(6): for y in range(6): print(x,y) |
Programa 5 – for com strings
1 2 3 4 5 |
for x in "banana": if x=="a": print("o") else: print(x) |
Programa 6 – for com arrays
1 2 3 4 5 |
fruits = ["maçã", "banana", "pera"] for x in fruits: print(x) if x == "banana": break |
Programa 7 – for em uma busca: qual a melhor combinação de números inteiros cujos cubos somem 100?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
import math melhorerro = 1000 for x in range(1,1001): for y in range(1,1001): erro = abs(100 - x*x*x - y*y*y) if erro < melhorerro : melhorerro = erro melhor_x = x; melhor_y = y; print('X = ',melhor_x) print('Y = ',melhor_y) print('X^3 + Y^3 = ', melhor_x*melhor_x*melhor_x + melhor_y*melhor_y*melhor_y) |
Desafio: Faça um loop que teste todas as possibilidades de X e Y (inteiros de 1 a 100) e encontre qual valor de X/Y mais se aproxima do valor de PI.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
import math melhorerro = 1000 for x in range(1,101): for y in range(1,101): aprox_pi = x/y erro = abs(aprox_pi - math.pi) if erro < melhorerro : melhorerro = erro melhor_x = x; melhor_y = y; print('X = ',melhor_x) print('Y = ',melhor_y) print('X/Y = ', melhor_x/melhor_y) print('pi = ', math.pi) |