1
resposta

[Projeto] Desafio: Estrutura de repetição

Boa tarde pessoal, postar aqui alguns exercicios realizados, esses foram os que eu mais quebrei a cabeça para entender

Evolução de BACTERIAS

dias = 0

bacteriaA = 4
bacteriaB = 10

while int(bacteriaA) <= int(bacteriaB):
  bacteriaA += bacteriaA * 0.03
  bacteriaB += bacteriaB * 0.015 
  dias += 1

print(f'Quantidade de {dias} dias')
print(f'Bacteria A: {int(bacteriaA)} Elementos')
print(f'Bacteria B: {int(bacteriaB)} Elementos')

Numeros Primos

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

# Numero maior ou igual a 1
if numero > 1:
  # criar um contador que no caso sera o nosso divisor do numero dois até o numero anterior ao numero escolhido 
  for divisor in range(2, numero):
    # Se fizer todas as divisões do numero pelo divisor e alguma restar zero o numero não é primo
    if (numero % divisor) == 0:
      print(f'O número {numero} não é primo')
      break
  # Senão é primo
  else:
    print(f'O número {numero} é primo')
else:
  print(f'Não é primo')

Fatoração

valor1 = int(input("Digite o número: "))

contador = 1
fator = 1

while contador <= valor1:

  fator *= contador
  contador += 1


print(f"O valor fatorial de {valor1} é {fator}")

Eleição

candidata1 = 0
candidata2 = 0
candidata3 = 0
candidata4 = 0
nulo = 0
branco = 0



for funcionarios in range (1, 21):
  voto = int(input('Digite o seu voto: '))

  while voto <= 0 or voto >6:
    print("Voto inválido")
    voto = int(input(f"Digite novamente: "))

  if voto == 1:
    candidata1 += 1
  elif voto == 2:
    candidata2 += 1
  elif voto == 3:
    candidata3 += 1
  elif voto == 4:
    candidata4 += 1
  elif voto == 5:
    nulo += 1
  elif voto == 6:
    branco += 1
    

perctN = nulo / 20 * 100
perctB = branco / 20 * 100

if (
    candidata1 > candidata2 and
    candidata1 > candidata3 and
    candidata1 > candidata4
):
    print("A candidata 1 venceu a eleição")

elif (
    candidata2 > candidata1 and
    candidata2 > candidata3 and
    candidata2 > candidata4
):
    print("A candidata 2 venceu a eleição")

elif (
    candidata3 > candidata1 and
    candidata3 > candidata2 and
    candidata3 > candidata4
):
    print("A candidata 3 venceu a eleição")

elif (
    candidata4 > candidata1 and
    candidata4 > candidata2 and
    candidata4 > candidata3
):
    print("A candidata 4 venceu a eleição")

else:
    print("A eleição terminou empatada")

print(f"O total de votos da Candidata 1 é: {candidata1}")
print(f"O total de votos da Candidata 2 é: {candidata2}")
print(f"O total de votos da Candidata 3 é: {candidata3}")
print(f"O total de votos da Candidata 4 é: {candidata4}")
print(f"A porcentagem de votos nulos foi de {perctN}% com o total de {nulo} votos")
print(f"A porcentagem de votos brancos foi de {perctB}% com o total de {branco} votos")

Notas Esse foi doidera até entender

contador = 1

while contador <= 15:
  nota = int(input(f'Digite {contador}° nota de 0 a 5: '))
  
  if 0 <= nota <= 5:
    contador += 1
  else:  
    print('Nota inválida')
1 resposta

Oi, Flavio! Como vai?

Agradeço por compartilhar seus exercícios com a comunidade Alura.

Gostei bastante da forma como você trabalhou diferentes estruturas de repetição nos desafios. Interessante o o exercício da eleição, onde utilizou o for e utilizou validação com while para impedir votos inválidos, algo muito importante em sistemas reais. O exercício dos números primos também ficou bem organizado, usando break e o else do for, que muita gente tem dificuldade para entender no início. Dá para perceber sua evolução ao combinar condições, contadores e operadores matemáticos nos problemas.

Qual desses exercícios você sentiu mais dificuldade para montar sozinho?

Alura

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