1
resposta

Desafio: hora da prática

Q1

num1 = int(input("Digite um número: "))
num2 = int(input("Digite outro número: "))

if num1 < num2:
for i in range(num1 + 1, num2):
print(i)
else:
for i in range(num2 + 1, num1):
print(i)

Q2

bacteria_a = 4
taxa_crescimento_a = 0.03

bacteria_b = 10
taxa_crescimento_b = 0.015

dias = 0

while bacteria_a <= bacteria_b:
bacteria_a += bacteria_a * taxa_crescimento_a
bacteria_b += bacteria_b * taxa_crescimento_b
dias += 1
print(f'Levará {dias} dias para A ultrapassar B')

Q3

dados_avaliacao = 15
notas = []

while dados_avaliacao >= 0:
nota_avaliacao = int(input('Digite o valor da sua nota: '))
if nota_avaliacao >= 0 and nota_avaliacao <= 5:
notas.append(nota_avaliacao)
print('Nota válida')

else:
print('Nota inválida')
nota_avaliacao = int(input('Digite um valor válido da sua nota: '))
dados_avaliacao -= 1

print(f'A sua lista de notas é: {notas}')

Q4

temperaturas = []

while True:
temperatura = float(input('Digite a temperatura em °C: '))

if temperatura == -273:
    break

elif temperatura < -273:
    print('Temperatura inválida')

else:
    temperaturas.append(temperatura)

if len(temperaturas) > 0:
media_temperaturas = sum(temperaturas) / len(temperaturas)
print(f'A média das temperaturas é: {media_temperaturas:.2f}°C')
else:
print('Nenhuma temperatura válida foi informada.')

Q5

numero = int(input('Digite um número para ver o fatorial dele: '))
fatorial = 1

for i in range(1, numero+1, 1):
fatorial *= i
print(f'O fatorial de {numero} é {fatorial}')

Momento dos projetos

Q6

numero = int(input('Digite um número para ver a tabuada dele: '))

for i in range(1, 11):
print(f'{numero} x {i} = {numero * i}')

Q7

numero = int(input('Digite um número inteiro: '))

divisores = 0

if numero <= 1:
print(f'{numero} não é um número primo')

else:

for i in range(1, numero + 1):

    if numero % i == 0:
        divisores += 1

if divisores == 2:
    print(f'{numero} é um número primo')

else:
    print(f'{numero} não é um número primo')

Q8

idades_entre_0_25 = []
idades_entre_26_50 = []
idades_entre_51_75 = []
idades_entre_76_100 = []

while True:
idade = int(input('Digite a sua idade: '))

if idade < 0:
break
elif idade >= 0 and idade <= 25:
idades_entre_0_25.append(idade)
elif idade >= 26 and idade <= 50:
idades_entre_26_50.append(idade)
elif idade >= 51 and idade <= 75:
idades_entre_51_75.append(idade)
elif idade >= 76 and idade <= 100:
idades_entre_76_100.append(idade)

print(f'Quantidade das idades entre 0 e 25: {len(idades_entre_0_25)}')
print(f'Quantidade das idades entre 26 e 50: {len(idades_entre_26_50)}')
print(f'Quantidade das idades entre 51 e 75: {len(idades_entre_51_75)}')
print(f'Quantidade das idades entre 76 e 100: {len(idades_entre_76_100)}')

Q9

quant_votos = 20
votos = {1:0, 2:0, 3:0, 4:0, 5:0, 6:0}
opcoes = [1, 2, 3, 4, 5, 6]

while quant_votos > 0:
voto = int(input('Digite o seu voto (1, 2, 3 e 4 para os candidatos, 5 para nulo e 6 para branco): '))
while voto not in opcoes:
print('Voto inválido')
voto = int(input('Digite o seu voto (1, 2, 3 e 4 para os candidatos, 5 para nulo e 6 para branco): '))
votos[voto] += 1
quant_votos -= 1

print('\nRESULTADO DA ELEIÇÃO\n')

print(f'Candidato 1 recebeu {votos[1]} votos')
print(f'Candidato 2 recebeu {votos[2]} votos')
print(f'Candidato 3 recebeu {votos[3]} votos')
print(f'Candidato 4 recebeu {votos[4]} votos')
print(f'Votos nulos: {votos[5]}')
print(f'Votos em branco: {votos[6]}')

porcent_nulos = (votos[5] / 20) * 100
porcent_brancos = (votos[6] / 20) * 100

print(f'\nPorcentagem de votos nulos: {porcent_nulos:.1f}%')
print(f'Porcentagem de votos em branco: {porcent_brancos:.1f}%')

candidatos = {
1: votos[1],
2: votos[2],
3: votos[3],
4: votos[4]
}

vencedor = max(candidatos, key=candidatos.get)

print(f'\nO vencedor foi o candidato {vencedor}')

1 resposta

Ei, Rafaela! Tudo bem?

Parabéns pelo empenho em resolver toda a lista de exercícios sobre estruturas de repetição em Python! Dedicar-se a desafios práticos como esses é o melhor caminho para consolidar os fundamentos da linguagem e evoluir com segurança.

Vendo aqui as suas soluções, percebi que você compreendeu muito bem o uso de comandos essenciais como print, input, int, for, while, range, append e len, além de estruturas condicionais com else. Esses são os pilares de qualquer código Python bem escrito.

Seus algoritmos para calcular o fatorial de um número, gerar a tabuada, verificar números primos e classificar idades em faixas etárias ficaram muito bem estruturados e de fácil leitura. A solução com while para o controle de temperatura, incluindo a validação do valor limite de -273 graus, mostrou atenção especial aos detalhes. O sistema de eleição com o dicionário de votos, o cálculo da porcentagem de votos nulos e brancos, e a identificação do vencedor também ficou muito elegante.

No exercício de avaliação de notas, onde você usou nota_avaliacao com append para montar a lista, o raciocínio está correto. Uma dica interessante é revisar o fluxo do else para garantir que notas inválidas redigitadas também passem pela validação completa.

De forma geral, sua evolução está clara e consistente. Continue praticando com essa dedicação!

Qual dos exercícios você achou mais desafiador de resolver?

Conteúdo para complementar seus estudos
Esse conteúdo pode estar em inglês, para traduzi-lo utilize o tradutor automático do navegador ou clique com o botão direito do mouse sobre a página e selecione a opção Traduzir para o português.
Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!