1
resposta

WHILE/ FOR

1
n1 = int(input("Digite o primeiro número: "))
n2 = int(input("Digite o segundo número: "))

if n1 < n2:
for i in range(n1 + 1, n2):
print(i)
else:
for i in range(n2 + 1, n1):
print(i)

Digite o primeiro número: 3
Digite o segundo número: 6
4
5


2

a = 4
b = 10
dias = 0

while a < b:
a *= 1.03 # crescimento de 3%
b *= 1.015 # crescimento de 1,5%
dias += 1

print(f"A colônia A ultrapassa ou iguala a B em {dias} dias.")

A colônia A ultrapassa ou iguala a B em 63 dias.


3

notas = []

for i in range(15):
nota = int(input(f"Digite a nota {i+1} (0 a 5): "))
while nota < 0 or nota > 5:
print("Nota inválida! Digite novamente.")
nota = int(input(f"Digite a nota {i+1} (0 a 5): "))
notas.append(nota)

print("Notas válidas registradas:", notas)

Digite a nota 1 (0 a 5): 0
Digite a nota 2 (0 a 5): 3
Digite a nota 3 (0 a 5): 4
Digite a nota 4 (0 a 5): 5
Digite a nota 5 (0 a 5): 1
Digite a nota 6 (0 a 5): 2
Digite a nota 7 (0 a 5): 3
Digite a nota 8 (0 a 5): 4
Digite a nota 9 (0 a 5): 5
Digite a nota 10 (0 a 5): 2
Digite a nota 11 (0 a 5): 0
Digite a nota 12 (0 a 5): 5
Digite a nota 13 (0 a 5): 3
Digite a nota 14 (0 a 5): 2
Digite a nota 15 (0 a 5): 2
Notas válidas registradas: [0, 3, 4, 5, 1, 2, 3, 4, 5, 2, 0, 5, 3, 2, 2]


4

soma = 0
cont = 0

while True:
temp = float(input("Digite a temperatura em °C (-273 para encerrar): "))
if temp == -273:
break
soma += temp
cont += 1

if cont > 0:
print("Média das temperaturas:", soma / cont)
else:
print("Nenhuma temperatura válida foi inserida.")

Digite a temperatura em °C (-273 para encerrar): 23
Digite a temperatura em °C (-273 para encerrar): 18
Digite a temperatura em °C (-273 para encerrar): 26
Digite a temperatura em °C (-273 para encerrar): -273
Média das temperaturas: 22.333333333333332


5

n = int(input("Digite um número inteiro: "))
fatorial = 1

for i in range(1, n + 1):
fatorial *= i

print(f"O fatorial de {n} é {fatorial}.")

Digite um número inteiro: 4
O fatorial de 4 é 24.


6

n = int(input("Digite um número para ver a tabuada: "))

print(f"Tabuada do {n}:")
for i in range(1, 10 + 1):
print(f"{n} x {i} = {n * i}")

Digite um número para ver a tabuada: 10
Tabuada do 10:
10 x 1 = 10
10 x 2 = 20
10 x 3 = 30
10 x 4 = 40
10 x 5 = 50
10 x 6 = 60
10 x 7 = 70
10 x 8 = 80
10 x 9 = 90
10 x 10 = 100


7

n = int(input("Digite um número inteiro: "))
eh_primo = True

if n <= 1:
eh_primo = False
else:
for i in range(2, int(n**0.5) + 1):
if n % i == 0:
eh_primo = False
break

if eh_primo:
print(f"{n} é primo.")
else:
print(f"{n} não é primo.")

Digite um número inteiro: 47
47 é primo.

1 resposta

Oi, Ivaney, como vai?

Você compartilhou várias soluções e conseguiu aplicar corretamente estruturas de repetição com while e for em diferentes cenários. Seus códigos atenderam muito bem às propostas dos exercícios e ficou claro que você já consegue adaptar a lógica para cada tipo de problema apresentado.

Gostei especialmente da solução do exercício sobre números primos. Utilizar int(n**0.5) + 1 mostra que você já está buscando otimizações na verificação, o que é uma prática muito interessante. No exercício das notas, a validação com while também ficou adequada para impedir entradas inválidas sem interromper o programa.

Qual desses exercícios você sentiu que exigiu mais raciocínio lógico para resolver, e qual deles você gostaria de tentar transformar em uma versão mais avançada?

Parabéns pela dedicação e por compartilhar suas soluções no fórum. Continue praticando e explorando novas formas de resolver os desafios. O fórum segue à disposição para acompanhar sua evolução e trocar ideias com você.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!