1
resposta

Desafio Pratico Laços

  1. Escreva um programa que peça dois números inteiros e imprima todos os números inteiros entre eles.
n1 = int(input('Digite o primeiro número inteiro: '))
n2 = int(input('Digite o segundo número inteiro: '))

# Se o primeiro número for maior
if n1 > n2:

    # Conta de trás para frente
    for numero in range(n1 - 1, n2, -1):
        print(numero)

# Se o segundo número for maior
else:

    # Conta normalmente
    for numero in range(n1 + 1, n2):
        print(numero)
  1. Escreva um programa para calcular quantos dias levará para a colônia de uma bactéria A ultrapassar ou igualar a colônia de uma bactéria B, com base nas taxas de crescimento de 3% e 1,5% respectivamente. Considere que a colônia A inicia com 4 elementos e a B com 10.
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 *= (1 + taxa_crescimento_A)
    bacteria_B *= (1 + taxa_crescimento_B)
    dias += 1

print(f'Após {dias} dias:')
print(f'Colônia A = {bacteria_A:.2f}')
print(f'Colônia B = {bacteria_B:.2f}')
  1. Para tratar uma quantidade de 15 dados de avaliações de pessoas usuárias de um serviço da empresa, precisamos verificar se as notas são válidas. Então, escreva um programa que vai receber a nota de 0 a 5 de todos os dados e verificar se é um valor válido. Caso seja inserido uma nota acima de 5 ou abaixo de 0, repita até que a pessoa usuária insira um valor válido.
contador = 1

while contador <= 15:
    print('')

    nota = float(input(f'Digite a nota do {contador}º usuário:(De 0 a 5 ) '))

    # enquanto a nota for inválida, repete
    while nota < 0 or nota > 5:
        print('Nota inválida! Digite novamente.')
        nota = float(input(f'Digite a nota do {contador}º usuário: '))

    print('Nota válida')
    contador += 1
    print('')
    print('###################################################')

print(f'O Total de Avaliações: {contador - 1}')
print('Fim do programa')
  1. Desenvolva um programa que leia um conjunto indeterminado de temperaturas em Celsius e informe a média delas. A leitura deve ser encerrada ao ser enviado o valor -273°C.
soma = 0
contador = 0

temperatura = float(input("Digite a temperatura em °C (-273 para sair): "))

while temperatura != -273:
    soma += temperatura
    contador += 1

    temperatura = float(input("Digite a temperatura em °C (-273 para sair): "))

if contador > 0:
    media = soma / contador
    print(f"Média das temperaturas: {media:.2f} °C")
else:
    print("Nenhuma temperatura válida foi digitada.")
1 resposta

Oii Adilson, tudo bem?

Obrigada por compartilhar suas soluções aqui no fórum, com certeza vai ajudar outros alunos que estejam fazendo o mesmo desafio.

Suas implementações estão bem pensadas. Alguns destaques que chamaram atenção:

No primeiro exercício, você tratou os dois sentidos da contagem (crescente e decrescente) corretamente, usando range com passo -1 quando necessário. É um detalhe que muita gente esquece.

No das bactérias, a lógica do while com o acúmulo de dias ficou limpa e direta. Boa escolha usar :.2f no print final para deixar a saída mais legível.

No de avaliações, o uso do while aninhado para revalidar a nota é exatamente a abordagem certa para esse tipo de problema.

E no das temperaturas, você tratou bem o caso de borda: quando nenhuma temperatura é digitada antes do -273, o programa não tenta calcular a média e exibe uma mensagem adequada. Isso mostra atenção aos detalhes.

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

Bons estudos!

Sucesso

Imagem da comunidade