1
resposta

Desafio: Estruturas de repetição 1

1

# Coletamos os valores de início e fim
inicio = int(input('Insira o primeiro número inteiro: '))
fim = int(input('Insira o segundo número inteiro: '))

# Verificamos se o valor de início é maior que o fim
if inicio < fim:
  # podemos imprimir os inteiros entre o menor e o maior valor
  for i in range(inicio + 1, fim): 
    print(i)
elif inicio > fim:
  for i in range(fim + 1, inicio):
    print(i)
else: #caso os números sejam iguais, não conseguimos imprimir sequência alguma
  print('Os números são iguais.')
  
 ** Resposta**
 Insira o primeiro número inteiro: 10
Insira o segundo número inteiro: 20
11
12
13
14
15
16
17
18
19

2

# número inicial de bactérias
colonia_a = 4
colonia_b = 10

# taxas de crescimento das colônias
taxa_a = 0.03
taxa_b = 0.015

# contador de dias
dias = 0

# A condição que finaliza o laço é o caso em que
# a colônia A ultrapasse a colônia B
while colonia_a <= colonia_b:
  # usamos um operador de atribuição com multiplicação
  colonia_a *= 1 + taxa_a
  colonia_b *= 1 + taxa_b
  # contamos o dia para cada iteração
  dias += 1

# resultado final
print(f'Irá levar {dias} dias para a colônia A ultrapassar a colônia B.')

**Resposta**
Irá levar 63 dias para a colônia A ultrapassar a colônia B.

3

# laço para pegar as 15 notas
for i in range(15):
  nota = float(input(f'Insira a nota da pessoa usuária {i}: '))

  # verifica se a nota está entre 0 e 5
  # se estiver, o laço rodará ininterruptamente até ser obtido um valor válido
  while (nota < 0) or (nota > 5):
    nota = float(input(f'Nota inválida, insira novamente a nota da pessoa usuária {i}: '))

print('Verificação feita. Todas as notas são válidas')



**Resposta:**
Insira a nota da pessoa usuária 0: 3
Insira a nota da pessoa usuária 1: 5
Insira a nota da pessoa usuária 2: 1
Insira a nota da pessoa usuária 3: 4
Insira a nota da pessoa usuária 4: 2
Insira a nota da pessoa usuária 5: 0
Insira a nota da pessoa usuária 6: 6
Nota inválida, insira novamente a nota da pessoa usuária 6: 8
Nota inválida, insira novamente a nota da pessoa usuária 6: 5
Insira a nota da pessoa usuária 7: 4
Insira a nota da pessoa usuária 8: 1
Insira a nota da pessoa usuária 9: 9
Nota inválida, insira novamente a nota da pessoa usuária 9: 6
Nota inválida, insira novamente a nota da pessoa usuária 9: 5
Insira a nota da pessoa usuária 10: 1
Insira a nota da pessoa usuária 11: 4
Insira a nota da pessoa usuária 12: 6
Nota inválida, insira novamente a nota da pessoa usuária 12: 2
Insira a nota da pessoa usuária 13: 2
Insira a nota da pessoa usuária 14: 5
Verificação feita. Todas as notas são válidas

4

# coletamos a temperatura
temperatura = float(input('Insira a temperatura em Celsius: '))

# inicializamos uma contadora e soma para a média
contadora = 0
soma = 0

# nosso código executa sempre até o valor de temperatura for igual a -273
while temperatura != -273:
    # a soma é dada com a adição da temperatura à variavel soma
    soma += temperatura
    # contamos a quantidade de valores coletados através da contadora
    contadora += 1
    # coletamos novamente a temperatura
    temperatura = float(input('Insira a temperatura em Celsius: '))

media = soma / contadora

print(f'A média das temperaturas é: {media}')

**Resposta**
Insira a temperatura em Celsius: -259
Insira a temperatura em Celsius: -264
Insira a temperatura em Celsius: -270
Insira a temperatura em Celsius: -272
Insira a temperatura em Celsius: -273
A média das temperaturas é: -266.25

5

# Pedir o número
num = int(input('Informe um número inteiro: '))

# Inicializar o cálculo
fatorial = 1

# nosso contador inicializa com o número máximo
# e será feita uma contagem decrescente com o operador -=
i = num
while i > 0:
    # queremos multiplicar agora o valor do fatorial pelo num
    # e todos os números abaixo dele até 1
    fatorial *= i
    i -= 1

# Imprimir o cálculo do fatorial
print(f'Fatorial de {num} é {fatorial}')

**Resposta**
Informe um número inteiro: 8
Fatorial de 8 é 40320

6

# Pedir o número
num = int(input('Informe um número inteiro de 1 a 10: '))

# Vamos gerar a tabuada
print(f'Tabuada do {num}:')
for i in range(1, 11):
    resultado = num * i
    print(f'{num} x {i} = {resultado}')
    
    **Resultado**
    Informe um número inteiro de 1 a 10: 4
Tabuada do 4:
4 x 1 = 4
4 x 2 = 8
4 x 3 = 12
4 x 4 = 16
4 x 5 = 20
4 x 6 = 24
4 x 7 = 28
4 x 8 = 32
4 x 9 = 36
4 x 10 = 40
1 resposta

Oi, Wallace! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

Você organizou muito bem os desafios propostos, com clareza nas estruturas de repetição e boas validações nos inputs. Continue assim!

Uma dica interessante para o futuro é usar break para sair de um laço assim que uma condição for satisfeita. Veja este exemplo:


while True:
    numero = int(input("Digite um número positivo: "))
    if numero > 0:
        break

Esse código mantém o laço até o usuário digitar um valor maior que zero. A palavra break interrompe o laço quando a condição é atingida.

Qualquer dúvida, compartilhe no fórum.

Abraços e bons estudos!

Alura

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