2
respostas

hora da prática

  • Aquecendo na programação
    1-
    numero_inicial = int(input("Digite o primeiro número inteiro: "))
    numero_final = int(input("Digite o segundo número inteiro: "))
    print("Os números que estão entre eles são:")
    for numero_atual in range(numero_inicial + 1, numero_final):
    print(numero_atual)
    print("Fim!")

2-
colonia_a = 4
colonia_b = 10
taxa_a = 0.03
taxa_b = 0.015
dias_se_passaram = 0
while colonia_a < colonia_b:
colonia_a = colonia_a + (colonia_a * taxa_a)
colonia_b = colonia_b + (colonia_b * taxa_b)
dias_se_passaram = dias_se_passaram + 1
print("Resultado final:")
print("Demorou esse tanto de dias:")
print(dias_se_passaram)
print("Tamanho da colônia A no final:")
print(colonia_a)
print("Tamanho da colônia B no final:")
print(colonia_b)

3-
for i in range(15):
print("---")
print("Avaliação número:")
print(i + 1)
nota = float(input("Digite a nota (de 0 a 5): "))
while nota < 0 or nota > 5:
print("Erro! Você digitou uma nota inválida.")
print("A nota precisa ser entre 0 e 5.")
nota = float(input("Por favor, digite a nota novamente: "))
print("Nota válida guardada com sucesso!")
print("---")
print("Pronto! Todas as 15 avaliações foram verificadas.")

4-
soma_das_temperaturas = 0.0
quantidade_de_temperaturas = 0
print("Dica: Digite -273 para parar o programa e ver a média.")
print("---")
while True:
temperatura = float(input("Digite uma temperatura em Celsius: "))
if temperatura == -273:
print("Entendido! Encerrando a leitura dos dados...")
break
soma_das_temperaturas = soma_das_temperaturas + temperatura
quantidade_de_temperaturas = quantidade_de_temperaturas + 1
print("---")
if quantidade_de_temperaturas > 0:
media_final = soma_das_temperaturas / quantidade_de_temperaturas
print("A quantidade de temperaturas digitadas foi:")
print(quantidade_de_temperaturas)
print("A média de todas as temperaturas é:")
print(media_final)
else:
print("Você não digitou nenhuma temperatura válida antes de fechar!")

print("Fim!")

5-
numero = int(input("Digite um número inteiro para calcular o fatorial: "))
numero_original = numero
fatorial = 1
if numero < 0:
print("Infelizmente não existe fatorial de número negativo!")
elif numero == 0 or numero == 1:
print("O fatorial de", numero, "é: 1")
else:
while numero > 1:
fatorial = fatorial * numero
numero = numero - 1
print("O fatorial de", numero_original, "é:")
print(fatorial)
print("Fim!")

  • Momento dos projetos
    6-
    numero_escolhido = int(input("Digite um número inteiro para ver a tabuada dele: "))
    print("---")
    print("Tabuada do", numero_escolhido, ":")
    for multiplicador in range(1, 11):
    resultado = numero_escolhido * multiplicador
    print(numero_escolhido, "x", multiplicador, "=", resultado)
    print("---")
    print("Fim")

7-
numero = int(input("Digite um número inteiro positivo: "))
contador_de_divisores = 0
if numero <= 1:
print("O número", numero, "não é um número primo.")
else:
for i in range(1, numero + 1):
if numero % i == 0:
contador_de_divisores = contador_de_divisores + 1
if contador_de_divisores == 2:
print("O número", numero, "é PRIMO!")
else:
print("O número", numero, "NÃO é primo.")
print("Fim!")

8-
grupo_0_25 = 0
grupo_26_50 = 0
grupo_51_75 = 0
grupo_76_100 = 0
print("Dica: Digite uma idade negativa (ex: -1) para parar e ver o resultado.")
print("---")
while True:
idade_str = input("Digite a idade do pensionista: ")
if not idade_str:
print("Entrada vazia. Por favor, digite uma idade ou um número negativo para parar.")
continue
try:
idade = int(idade_str)
except ValueError:
print("Entrada inválida. Por favor, digite um número inteiro para a idade.")
continue

if idade < 0:
    print("Encerrando a entrada de dados...")
    break
if idade >= 0 and idade <= 25:
    grupo_0_25 = grupo_0_25 + 1
elif idade >= 26 and idade <= 50:
    grupo_26_50 = grupo_26_50 + 1
elif idade >= 51 and idade <= 75:
    grupo_51_75 = grupo_51_75 + 1
elif idade >= 76 and idade <= 100:
    grupo_76_100 = grupo_76_100 + 1
else:
    print("Aviso: Essa idade está acima de 100 anos e não entra nos intervalos!")

print("---")
print("RESULTADO DA DISTRIBUIÇÃO DE IDADES:")
print("Intervalo [0-25] :", grupo_0_25, "pensionista(s)")
print("Intervalo [26-50]:", grupo_26_50, "pensionista(s)")
print("Intervalo [51-75]:", grupo_51_75, "pensionista(s)")
print("Intervalo [76-100]:", grupo_76_100, "pensionista(s)")
print("---")
print("Fim!")

2 respostas

9 - votos_candidato1 = 0
votos_candidato2 = 0
votos_candidato3 = 0
votos_candidato4 = 0
votos_nulos = 0
votos_brancos = 0
print("MENU DE VOTAÇÃO:")
print("1 - Candidato(a) 1")
print("2 - Candidato(a) 2")
print("3 - Candidato(a) 3")
print("4 - Candidato(a) 4")
print("5 - Voto Nulo")
print("6 - Voto em Branco")
print("---")
for i in range(20):
print("Colaborador número:", i + 1)
voto = int(input("Digite o número do seu voto: "))
if voto == 1:
votos_candidato1 = votos_candidato1 + 1
elif voto == 2:
votos_candidato2 = votos_candidato2 + 1
elif voto == 3:
votos_candidato3 = votos_candidato3 + 1
elif voto == 4:
votos_candidato4 = votos_candidato4 + 1
elif voto == 5:
votos_nulos = votos_nulos + 1
elif voto == 6:
votos_brancos = votos_brancos + 1
else:
print("Opção inválida! Esse voto vai ser contabilizado como NULO.")
votos_nulos = votos_nulos + 1
print("---")
total_votos = 20
porcentagem_nulos = (votos_nulos / total_votos) * 100
porcentagem_brancos = (votos_brancos / total_votos) * 100
print("======= RESULTADO DA APURAÇÃO =======")
print("Total de votos para o(a) Candidato(a) 1:", votos_candidato1)
print("Total de votos para o(a) Candidato(a) 2:", votos_candidato2)
print("Total de votos para o(a) Candidato(a) 3:", votos_candidato3)
print("Total de votos para o(a) Candidato(a) 4:", votos_candidato4)
print("Total de votos nulos:", votos_nulos)
print("Total de votos em branco:", votos_brancos)
print("---")
print("Porcentagem de votos nulos:", porcentagem_nulos, "%")
print("Porcentagem de votos em branco:", porcentagem_brancos, "%")
print("=====================================")
print("Ganhador(a):")
if votos_candidato1 > votos_candidato2 and votos_candidato1 > votos_candidato3 and votos_candidato1 > votos_candidato4:
print("Candidato(a) 1 é o(a) novo(a) gerente!")
elif votos_candidato2 > votos_candidato1 and votos_candidato2 > votos_candidato3 and votos_candidato2 > votos_candidato4:
print("Candidato(a) 2 é o(a) novo(a) gerente!")
elif votos_candidato3 > votos_candidato1 and votos_candidato3 > votos_candidato2 and votos_candidato3 > votos_candidato4:
print("Candidato(a) 3 é o(a) novo(a) gerente!")
elif votos_candidato4 > votos_candidato1 and votos_candidato4 > votos_candidato2 and votos_candidato4 > votos_candidato3:
print("Candidato(a) 4 é o(a) novo(a) gerente!")
else:
print("Teve empate!.")

Olá, Marcelo. Como vai?

Que entrega massiva e espetacular! Você resolveu com precisão os 9 exercícios propostos, demonstrando um domínio fantástico sobre os laços de repetição for e while, além de estruturas condicionais muito bem encadeadas.

Construir contadores, acumuladores de médias e sistemas de apuração complexos (como o de votação e o de distribuição de intervalos) mostra que a sua base em lógica de programação está extremamente sólida.

Para enriquecer essa sua nova maratona de códigos, destaco os pontos mais altos da sua entrega e trago dicas valiosas de como o Python lida com essas estruturas nos bastidores:

1. Robustez com Tratamento de Erros (Exercício 8)

O grande destaque do seu código vai para o exercício 8 (distribuição de idades dos pensionistas). Você utilizou com perfeição os blocos try/except com o erro ValueError.

No dia a dia da Análise de Crédito ou Data Science, o usuário frequentemente digita textos por engano onde deveriam entrar números (como "vinte" em vez de 20). Proteger o seu laço while True com esse tratamento garante que o seu programa continue rodando sem travar diante de dados corrompidos. Excelente prática de nível profissional!

2. Validação Contínua com Loops Internos (Exercício 3)

A estrutura que você montou no exercício 3 é um padrão de design muito elegante:

nota = float(input("Digite a nota (de 0 a 5): "))
while nota < 0 or nota > 5:
    # pede o dado novamente...

Utilizar o laço while imediatamente após a entrada de dados do for cria uma barreira de segurança física. O programa fica "preso" ali até que o usuário colabore e digite uma informação válida, garantindo a integridade dos dados coletados.

3. Dica para o Algoritmo de Verificação de Primos (Exercício 7)

O seu algoritmo para identificar números primos calculando o total de divisores está correto e funcionou muito bem!

Apenas como uma curiosidade de performance para o futuro: da forma como está estruturado (range(1, numero + 1)), se o usuário digitar o número 1.000.003, o seu computador terá que fazer mais de 1 milhão de contas de divisão para descobrir se ele é primo ou não.

Uma técnica matemática para deixar esse algoritmo centenas de vezes mais rápido (muito útil ao lidar com Big Data) é testar os divisores apenas até a raiz quadrada do número digitado. Se ele não encontrar nenhum divisor até ali, o número já é garantidamente primo!

import math

# Uma alternativa performática:
limite_teste = int(math.sqrt(numero))
for i in range(2, limite_teste + 1):
    if numero % i == 0:
        # Se achou algum divisor aqui, já sabemos que não é primo e paramos

4. Lógica de Apuração Conclusiva (Exercício 9)

Seu sistema de eleição ficou completíssimo, com direito a cálculos de porcentagem e verificação minuciosa de empate no final. A forma como você combinou os operadores lógicos and para isolar o maior número de votos de cada candidato ficou impecável.

Seu portfólio de exercícios práticos está ficando gigante e muito rico. Continue com essa disciplina incrível!

Espero que possa ter lhe ajudado!