Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Sugestão] 04_Estrutura de Repetição - Atividade 1 e 2

## 1) Escreva um programa que peça dois números inteiros e imprima todos os números inteiros entre eles. (c/ for)
# Solicita ao usuário que insira o primeiro valor e converte para inteiro
num1 = int(input('Digite um valor qualquer: '))

# Solicita ao usuário que insira o segundo valor e converte para inteiro
num2 = int(input('Digite o segundo valor: '))

# Verifica se os dois números são iguais
if num1 == num2:
    # Se os números forem iguais, imprime a mensagem informando o valor
    print(f'Os números são iguais a {num1}.')
    
# Se num1 for menor que num2, entra no bloco abaixo
elif num1 < num2:
    # Este laço 'for' percorre os números entre num1 e num2 (excluindo num2)
    # O 'range' vai de num1+1 até num2-1, incrementando de 1 em 1
    for i in range(num1 + 1, num2):
        # Imprime cada número entre num1 e num2 (excluindo num2)
        print(i)
        
# Caso contrário, se num1 for maior que num2, entra no bloco abaixo
else:
    # Este laço 'for' percorre os números entre num1 e num2, mas de forma decrescente
    # O 'range' vai de num1-1 até num2+1, decrementando de 1 em 1
    for i in range(num1 - 1, num2, -1):
        # Imprime cada número entre num1 e num2 (excluindo num2) de forma decrescente
        print(i)
## 1) Escreva um programa que peça dois números inteiros e imprima todos os números inteiros entre eles. (c/ while)
# Solicita ao usuário o primeiro valor e converte para inteiro
num1 = int(input('Digite um valor qualquer: '))

# Solicita ao usuário o segundo valor e converte para inteiro
num2 = int(input('Digite o segundo valor: '))

# Importa o módulo sys para usar sys.exit() mais tarde, caso necessário
import sys

# Se os dois números forem iguais, imprime a mensagem e termina a execução do programa
if num1 == num2: 
    print(f'Os números são iguais a {num1}.')
    # Encerra a execução do programa
    sys.exit()

# Se o primeiro número for menor que o segundo, entra no loop para imprimir os números em ordem crescente
elif num1 < num2:
    # Enquanto num1 for menor que num2 - 1, imprime os valores de num1 + 1 e incrementa num1
    while num1 < num2 - 1:
        print(num1 + 1)  # Imprime o próximo número em ordem crescente
        num1 += 1  # Incrementa num1 para continuar a iteração

# Caso contrário, se num1 for maior que num2, entra no loop para imprimir os números em ordem decrescente
else:
    # Enquanto num1 for maior que num2 + 1, imprime os valores de num1 - 1 e decrementa num1
    while num1 > num2 + 1:
        print(num1 - 1)  # Imprime o próximo número em ordem decrescente
        num1 -= 1  # Decrementa num1 para continuar a iteração
## 2) 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. (c/ for)
baca = 4
bacb = 10
dias = 0

# Definindo um número máximo de iterações, por exemplo 1000
for _ in range(1000):
    if baca >= bacb:
        break
    baca += baca * 0.03
    bacb += bacb * 0.015
    dias += 1

print(f'Com {dias} dias, a colônia de bactérias A estará com {baca:.3f} unidades, sendo maior ou igual à colônia de bactérias B({bacb:.3f}).')
## 2) 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. (c/ while)
baca = 4  # Inicializa a quantidade de bactérias na colônia A com 4 unidades.
bacb = 10  # Inicializa a quantidade de bactérias na colônia B com 10 unidades.
dias = 0  # Inicializa o contador de dias com 0.

while (baca < bacb):  # Enquanto a quantidade de bactérias de A for menor que a de B:
    baca += baca * 0.03  # A quantidade de bactérias de A cresce 3% ao dia (baca * 0.03).
    bacb += bacb * 0.015  # A quantidade de bactérias de B cresce 1.5% ao dia (bacb * 0.015).
    dias += 1  # Incrementa o contador de dias a cada iteração do loop.

# Exibe o número de dias e a quantidade final de bactérias de A e B, formatando para 3 casas decimais.
print(f'Com {dias} dias, a colônia de bactérias A estará com {baca:.3f} unidades, sendo maior ou igual à colônia de bactérias B({bacb:.3f}).')
1 resposta
solução!

Olá, Marinaldo, como vai?

Seus códigos estão bem estruturados e atendem corretamente aos requisitos de cada exercício. Você demonstrou domínio tanto do loop for quanto do while, além de aplicar corretamente os cálculos matemáticos necessários.

Obrigado por compartilhar suas soluções. Continue praticando e explorando diferentes abordagens para os problemas. O fórum está à disposição para dúvidas.

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