Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Projeto] Estruturas de Repetição (Todas as questões)

1.

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

if num1 > num2:
  for i in range(num2 + 1,num1):
    print(i)
elif num1 < num2:
  for i in range(num1 + 1,num2):
    print(i)
else:
  print('Os números são idênticos.')

2..

bacA = 4
bacB = 10

dias = 0

while bacA < bacB:
  # nas taxas acrescentamos o valor original + a taxa de crescimento, para que aumente e nao desconte
  bacA = bacA * 1.03
  bacB = bacB * 1.015
  dias+=1

print(f'Irá demorar {dias} para a colônia A passar a quantidade da colônia B.')

3.

for i in range(1,16):
  nota = int(input(f'Digite a avaliação do usuário {i}, de 0 a 5: '))
  while (nota < 0) or (nota > 5):
    nota = int(input(f'Valor inválido para usuário {i}, por favor tente novamente: '))

4.

#guardar variaveis para calculo
soma = 0
contador = 0

temperatura = int(input('Digite a temperatura para análise: ')) ### importante pedir a primeira temp fora do while!!!

###enquanto temperatura for diferente de -273
##Se a pessoa digitar –273:
#o while não executa nem uma única vez portanto, ele não soma e não incrementa o contador
while temperatura != -273:
  #somar os valores ANTES de pedir novo valor! se nao o primeiro valor será ignorado!!
  contador+=1
  soma = soma + temperatura
  #pedir novo valor de temperatura
  temperatura = int(input('Digite a temperatura para análise: '))

media = soma/contador
print(f'O valor da média das temperaturas informadas é de {media}.')

5. Escreva um programa que calcule o fatorial de um número...

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

#começamos com o valor 1 que é neutro nesse caso
#se fosse 0, qualquer valor multiplicado daria 0
fatorial = 1

# contador regressivo iniciando do próprio número
i = num

# enquanto i for maior que 0:
# multiplica o resultado atual pelo valor de i
# e diminui o contador até chegar em 1
while i > 0:
  fatorial = fatorial * i
  i -= 1

print(f'O fatorial do número {num} é {fatorial}.')

6.

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

# contador i progressivo
i = 1
print(f'Tabuada do {num}:')
# multiplica o numero selecionado pelo valor de i
# mostra o resultado da tabuada
# e aumenta o contador até chegar em 10
while i <= 10:
  resultado = num * i
  print(f'{num} * {i} = {resultado}')
  i += 1

7. Os números primos possuem várias aplicações dentro da Ciência de Dados...

numero = int(input('Digite um número inteiro e vamos descobrir se ele é um número primo: '))

contador = 2
eh_primo = True

while contador < numero:
  resultado = numero % contador
  if resultado == 0:
    eh_primo = False
    break
  else:
    contador+=1

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

8. Vamos entender a distribuição de idades de pensionistas de uma empresa de previdência...

idade = int(input('Digite sua idade(ou un número negativo para encerrar): '))

intervalo_0_25 = 0
intervalo_26_50 = 0
intervalo_51_75 = 0
intervalo_76_100 = 0

while idade >= 0:
  if idade > 0 and idade <= 25:
    intervalo_0_25+=1
  elif idade > 25 and idade <= 50:
    intervalo_26_50+=1
  elif idade > 50 and idade <= 75:
    intervalo_51_75+=1
  else:
    intervalo_76_100+=1

  #digitar nova idade
  idade = int(input('Digite a idade (ou un número negativo para encerrar): '))


print(f'[0-25] = {intervalo_0_25} \n[26-50] =  {intervalo_26_50} \n[51-75] =  {intervalo_51_75} \n[76-100] =  {intervalo_76_100}')

9.

candidato1 = 0
candidato2 = 0
candidato3 = 0
candidato4 = 0
nulos = 0
brancos = 0

funcionarios = 0

print('Bem-vindo a votação para o novo gerente. Esperamos que você já conheça o seu candidato! \n1 - Candidato 1 \n2 - Candidato 2 \n3 - Candidato 3 \n4 - Candidato 4 \n5 - NULO \n6 - BRANCO ')

while funcionarios < 20:
  funcionarios+=1
  voto = int(input(f'Voto do colaborador {funcionarios}: '))
  while voto < 1 or voto > 6:
    print(f'Voto do colaborador {funcionarios} inválido!')
    voto = int(input(f'Colaborador {funcionarios}, digite um voto válido: '))
  if voto == 1:
    candidato1+=1
  elif voto == 2:
    candidato2+=1
  elif voto == 3:
    candidato3+=1
  elif voto == 4:
    candidato4+=1
  elif voto == 5:
    nulos+=1
  else:
    brancos+=1

votos_nulos = (nulos/funcionarios) * 100
votos_brancos = (brancos/funcionarios) * 100

print('\n')
print(f'Candidato 1: {candidato1} votos.')
print(f'Candidato 2: {candidato2} votos.')
print(f'Candidato 3: {candidato3} votos.')
print(f'Candidato 4: {candidato4} votos.')
print(f'Brancos: {brancos} votos, {votos_brancos:.2f}%')
print(f'Nulos: {nulos} votos, {votos_nulos:.2f}%')
print('\n')

Confira no meu Colab :)

2 respostas
solução!

Oii Isabelly, tudo bem?

Obrigada por compartilhar todas as soluções aqui no fórum! Com certeza vai ajudar outros alunos que passarem por esses desafios.

O que mais me chamou atenção foi o cuidado com os comentários explicativos no código, especialmente na questão 4, onde você anotou o raciocínio de pedir a temperatura fora do while e de somar antes de pedir o próximo valor. Isso mostra que você entendeu o fluxo de execução, não só fez funcionar.

Tenho apenas uma observação para a questão 4: se o usuário digitar -273 logo de início, o código vai tentar calcular soma/contador com contador = 0, o que gera um erro de divisão por zero. Vale adicionar uma verificação antes de exibir a média:

if contador > 0:
    media = soma / contador
    print(f'O valor da média das temperaturas informadas é de {media}.')
else:
    print('Nenhuma temperatura foi informada.')

Pequeno detalhe, mas importante para deixar o programa mais robusto.

Conte com a Alura para evoluir seus estudos. Em caso de dúvidas, fico à disposição.

Bons estudos!

Sucesso

Imagem da comunidade

Oii, tudo bem e por aí???

Agradeço sua resposta! Segui sua dica e melhorei meu código :)
E sobre os comentários, gosto de ir anotando meu raciocínio pra não esquecer o que estava pensando quando eu for estudar/rever.

Até maisss :D