1
resposta

[Projeto] Desafio: hora da prática

1)
numero = []
for i in range(2):
numero.append(int(input(f "Insira o {i+1}º número: ")))

inicio = min(numero)
fim = max(numero)

print("numero entre eles:")
for i in range(inicio+1, fim):
print(i)

2)
col_a = {"start": 4 , "rate": 0.03}
col_b = {"start": 10, "rate": 0.015}

def grow(start, rate):
return start + start * rate

def calc_days_to_equal(col_a_size, col_a_rate, col_b_size, col_b_rate):
day = 0
while col_a_size < col_b_size:
col_a_size = grow(col_a_size, col_a_rate)
col_b_size = grow(col_b_size, col_b_rate)
day += 1
return day

days = calc_days_to_equal(
col_a["start"], col_a["rate"],
col_b["start"], col_b["rate"]
)

print(f"Levou {days} dias para a colônia A ultrapassar ou igualar à colônia B em número.")

3)

dados = []

while len(dados) < 15:
score = float(input("Digite uma nota entre 0 e 5: "))
if score < 0 or score > 5:
print("Nota incorreta!")
else:
dados.append(score)

print("Notas:")
for nota in dados:
print(nota)

4)

def media_temperaturas(temperaturas):
return sum(temperaturas) / len(temperaturas)

def informar_media(temperaturas):
if len(temperaturas) == 0:
print("Nenhuma temperatura válida foi inserida.")
else:
media = media_temperaturas(temperaturas)
print(f"A média das temperaturas é {media:.2f}°C")

temperaturas = []

while True:
temperatura = float(input("Digite a temperatura em °C (-273 para encerrar): "))
if temperatura == -273:
break
else:
temperaturas.append(temperatura)
informar_media(temperaturas)

5)
def fatorial(valor):
resultado = 1
while valor > 1:
resultado *= valor
valor -= 1
return resultado

valor = int(input("Insira o valor do número para calcular seu fatorial: "))

resultado = fatorial(valor)
print(f"Fatorial de {valor} = {resultado}")

6)

Tabuada do 2:
2 x 1 = 2
2 x 2 = 4
[...]
2 x 10 = 20
Copiar código

valor = int(input("Digite o valor da tabuada de multiplicação que você quer gerar: "))
print(f"Tabuada do {valor}")
for i in range (1,11):
print(f"{valor} x {i} = {valor * i}")

7)
numero = int(input("Escolha um número inteiro: "))

def e_primo(numero):
if numero <= 1:
return false
for i in range(2, numero):
if numero % i == 0:
return False
return True

confirmacao = e_primo(numero)

if confirmacao:
print("O número que você digitou é primo)
else:
print("O número que você digitou não é primo)

8)

def contar(min, max):
contador = 0
for idade in idades:
if min <= idade <= max:
contador += 1
return contador

idades = []

while True:
idade = int(input("Digite a idade (digite um número negativo para encerrar): "))
if idade < 0:
break
idades.append(idade)

de_0_a_25 = contar(0, 25)
de_26_a_50 = contar(26,50)
de_51_a_75 = contar(51, 75)
de_76_a_100 = contar(76,100)

print(f"""
Distribuição das idades:
de 0 a 25: {de_0_a_25} pessoas
de 26 a 50: {de_26_a_50} pessoas
de 51 a 75: {de_51_a_75} pessoas
de 76 a 100: {de_76_a_100} pessoas
""")
9)
candidatos = [0, 0, 0, 0, 0, 0]

i = 0
while i < 20:
voto = int(input("Digite seu voto (1-4 candidatos, 5 nulo, 6 branco): "))
if voto == 1:
candidatos[0] += 1
i += 1
elif voto == 2:
candidatos[1] += 1
i += 1
elif voto == 3:
candidatos[2] += 1
i += 1
elif voto == 4:
candidatos[3] += 1
i += 1
elif voto == 5:
candidatos[4] += 1
i += 1
elif voto == 6:
candidatos[5] += 1
i += 1
else:
print("Número inválido, tente novamente.")

total = 20

print(f"""
Total de votos:
Candidato 1: {candidatos[0]}
Candidato 2: {candidatos[1]}
Candidato 3: {candidatos[2]}
Candidato 4: {candidatos[3]}
Nulos: {candidatos[4]} ({candidatos[4]*100/total:.1f}%)
Brancos: {candidatos[5]} ({candidatos[5]*100/total:.1f}%)
""")

vencedor = max(candidatos[0:4])
if candidatos[0] == vencedor:
print("Candidato 1 venceu!")
elif candidatos[1] == vencedor:
print("Candidato 2 venceu!")
elif candidatos[2] == vencedor:
print("Candidato 3 venceu!")
else:
print("Candidato 4 venceu!")

1 resposta

Olá, Paulo! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o funções para organizar cálculos com Python, utilizou muito bem o listas para armazenar dados e ainda compreendeu a importância da estruturas de repetição para controlar fluxos de execução.

Continue postando as suas soluções, com certeza isso ajudará outros estudantes e tem grande relevância para o fórum.

Uma dica interessante para o futuro é aplicar o zip() quando precisar percorrer duas listas ao mesmo tempo. Assim:

nomes = ["Ana", "Bruno", "Carlos"]
idades = [23, 30, 27]

for nome, idade in zip(nomes, idades):
    print(f"{nome} tem {idade} anos")

Isso faz a associação direta entre elementos de listas diferentes, tornando o código mais legível e eficiente.

Conteúdos relacionados

Alguns materiais podem estar em inglês, mas é possível compreendê-los usando o recurso de tradução de páginas do próprio navegador.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

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