Você está aqui: Python ::: Desafios e Lista de Exercícios Resolvidos ::: Python Básico

Lendo a idade de um nadador e classificando sua categoria como infantil, juvenil, adolescente, adulto ou sênior - Desafio de Programação Resolvido em Python

Quantidade de visualizações: 281 vezes
Pergunta/Tarefa:

Escreva um programa Python que solicita a idade de um nadador e classifica sua categoria de acordo com as seguintes regras:

a) De 5 a 7 anos - Infantil;
b) De 8 a 10 anos - Juvenil;
c) De 11 a 15 anos - Adolescente;
d) De 16 a 30 anos - Adulto;
e) Acima de 30 anos - Sênior.

Sua saída deverá ser parecida com:

Informe sua idade: 19
Sua categoria é Adulto
Resposta/Solução:

Veja a resolução comentada deste exercício usando Python:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# vamos solicitar a idade do nadador
idade = int(input("Informe sua idade: "))
     
# vamos verificar a categoria do nadador
if ((idade >= 5) and (idade <= 7)):
  print("Sua categoria é Infantil")
elif ((idade >= 8) and (idade <= 10)):  
  print("Sua categoria é Juvenil")  
elif ((idade >= 11) and (idade <= 15)):
  print("Sua categoria é Adolescente") 
elif ((idade >= 16) and (idade <= 30)):
  print("Sua categoria é Adulto")  
elif (idade > 30):
  print("Sua categoria é Sênior")  
else:
  print("Não pertence a nenhuma categoria.")


Link para compartilhar na Internet ou com seus amigos:

Python ::: Desafios e Lista de Exercícios Resolvidos ::: Python Básico

Exercício Resolvido de Python - Como calcular o restante de um salário após o pagamento de duas contas com juros

Quantidade de visualizações: 1271 vezes
Pergunta/Tarefa:

Cintia acaba de receber seu salário mas precisa pagar duas contas atrasadas. Por causa do atraso, ela deverá pagar multa de 2% sobre cada conta. Faça um programa que leia o valor do salário e das duas contas e que calcule e mostre quanto restará do salário de Cintia.

Sua saída deverá ser parecida com:

Informe o salário: 1350
Valor da primeira conta: 140
Valor da segunda conta: 300

Total das contas sem juros: 440.0
Total dos juros: 8.8
Total das contas com juros: 448.8
Sobra do salário: 901.2
Resposta/Solução:

Veja a resolução comentada deste exercício usando Python:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# método principal
def main():
  # vamos pedir que o usuário informe o valor do salário e das duas contas
  salario = float(input("Informe o salário: "))
  conta1 = float(input("Valor da primeira conta: "))
  conta2 = float(input("Valor da segunda conta: "))
    
  # total a ser pago nas duas contas sem os juros
  total_contas = conta1 + conta2
  # calcula os juros
  total_juros = total_contas * 0.02
  # total a ser pago com juros
  total_contas_com_juros = total_contas + total_juros
  # sobra do salário
  sobra_salario = salario - total_contas_com_juros
    
  # mostra os resultados
  print("\nTotal das contas sem juros: {0}".format(total_contas))
  print("Total dos juros: {0}".format(total_juros))
  print("Total das contas com juros: {0}".format(total_contas_com_juros))
  print("Sobra do salário: {0}".format(sobra_salario))
  
if __name__== "__main__":
  main()



Python ::: cmath Python Module (Módulo Python cmath para números complexos) ::: Números Complexos (Complex Numbers)

Como converter um número complexo na forma retangular para a forma polar usando Python

Quantidade de visualizações: 2238 vezes
Quando estamos efetuando cálculos envolvendo números complexos, é comum precisarmos converter da forma retangular para a forma polar, e vice-versa.

Um número complexo na forma retangular apresenta o seguinte formato:

7 + j5


onde 7 é a parte real e 5 é a parte imaginária. Note que usei a notação "j" em vez de "i" para a parte imaginária, uma vez que a notação "j" é a mais comum na engenharia.

O número complexo na forma polar, por sua vez, é composto pelo raio e pela fase (phase), que é o ângulo theta (ângulo da inclinação da hipotenusa em relação ao cateto adjascente).

O raio, representado por r, é o módulo do vetor cujas coordenadas são formadas pela parte real e a parte imaginária do número complexo. A parte real se encontra no eixo das abcissas (x) e a parte imaginária fica no eixo das ordenadas (y).

Veja agora o código Python completo que lê a parte real e a parte imaginária de um número complexo e o exibe na forma polar:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# vamos importar o módulo de matemática de números complexos
import cmath

# método principal
def main():
  # vamos ler a parte real e a parte imaginária do
  # número complexo
  real = float(input("Parte real do número complexo: "))
  imaginaria = float(input("Parte imaginária do número complexo: "))

  # constrói o número complexo
  z = complex(real, imaginaria)

  # mostra o valor absoluto na forma polar
  print ("Valor absoluto (raio ou módulo): ", abs(z))
  # mostra a fase do número complexto na forma polar
  print("Fase em radianos: ", cmath.phase(z))
  print("Fase em graus: ", cmath.phase(z) * (180 / cmath.pi))
  
if __name__== "__main__":
  main()

Ao executar este código Python nós teremos o seguinte resultado:

Parte real do número complexo: 3
Parte imaginária do número complexo: -4
Valor absoluto (raio ou módulo): 5.0
Fase em radianos: -0.9272952180016122
Fase em graus: -53.13010235415598


Python ::: Pygame ::: Animação, Animações, Técnicas de Animação

Como criar um relógio analógico no Pygame - Código completo com variáveis e comentários em português

Quantidade de visualizações: 1165 vezes
Nesta dica mostrarei um código para a criação de um relógio analógico completo em Python, com comentários detalhados e fácil de entender. Veja a imagem:



Por simplicidade, eu mantive a mesma cor para todos os elementos da animação e deixei somente o básico mesmo, para que você possa se concentrar nas partes mais importantes.

Neste código você aprenderá como definir o tamanho, título e cor de fundo para uma janela do Pygame do Python. Aprenderá também como definir a quantidade de frames por segundo para a animação, assim como controlar os disparos do timer pygame.time.Clock().

Por fim, o código mostra como calcular o ângulo dos ponteiros das horas, minutos e segundos e efetuar o desenho das retas saindo do centro do círculo. Você sabia, por exemplo, que o ângulo de 45 graus corresponde exatamente à hora 1:30hs?

Em vários exemplos de relógios analógicos na internet, o ponteiro das horas fica preso à uma determinada hora, aguardando o ponteiro dos segundos completar um giro completo. No código que apresento aqui, eu obtive a hora atual como um decimal, o que faz com que o ponteiro das horas mostre a posição real da hora, como um relógio analógico do mundo real.

Para estudantes de matemática, engenharia e física, este código é uma boa aplicação da técnica de se converter coordenadas polares para coordenadas cartesianas.

Eis o código completo para o relógio analógico. Boa diversão.

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# vamos importar as bibliotecas necessárias
import pygame, sys
from pygame.locals import *
import math
from datetime import datetime

# função que faz a correção dos ângulos
def corrigir_angulo(angulo):
  return abs(angulo % 360)

# inicializa a biblioteca
pygame.init()

# quantidade de frames por segundo
FPS = 30
# construímos o timer
timer = pygame.time.Clock()

# obtém a superfície do jogo e define o tamanho da tela
janela = pygame.display.set_mode((600, 400))
  
# vamos definir o título da janela do jogo
pygame.display.set_caption('Relógio Analógico no Pygame')

# vamos definir alguns parâmetros
fonte = pygame.font.Font(None, 36)
VERMELHO = (200, 0, 0)
BRANCO = (255, 255, 255)
raio = 150
x_inicial = 300
y_inicial = 200
distancia_aro = 20
  
# e aqui nós entramos no loop do game
while True:
  # vamos pintar a tela toda de branco
  janela.fill(BRANCO)
  
  # monitoramos os eventos
  for evento in pygame.event.get():
    # se o evento foi um pedido para sair
    if evento.type == QUIT:
      # fechamos a tela do jogo 
      pygame.quit()
      # e saimos do programa
      sys.exit()
  
  # vamos desenhar um circulo não preenchido (maior)
  pygame.draw.circle(janela, VERMELHO, (x_inicial, y_inicial), raio, 2)
  # vamos desenhar um circulo não preenchido (menor)
  pygame.draw.circle(janela, VERMELHO, (x_inicial + 1, y_inicial + 1), 5, 0)

  # vamos desenhar os números do relório (1-12)
  for n in range(1, 13):
    # calcula o ângulo dessa hora
    angulo = math.radians((n * (360 / 12)) - 90)
    # agora convertemos o ângulo e o raio para coordenadas cartesianas
    if len(str(n)) > 1:
      x = math.cos(angulo) * (raio - distancia_aro) - 18
    else:
      x = math.cos(angulo) * (raio - distancia_aro) - 10
    y = math.sin(angulo) * (raio - distancia_aro) - 10
    texto_numero = fonte.render(str(n), True, VERMELHO)
    janela.blit(texto_numero, (x_inicial + x, y_inicial + y))

  # vamos obter as horas, minutos e segundos atuais
  hoje = datetime.today()
  horas = hoje.hour % 12
  minutos = hoje.minute
  segundos = hoje.second
  
  # ajustamos as horas para tratar a hora decimal (com frações de horas)
  horas = horas + (minutos * (1 / 60)) + (segundos * (1 / 3600))

  # desenha o ponteiro das horas
  angulo_horas = corrigir_angulo(horas * (360 / 12) - 90)
  angulo_horas = math.radians(angulo_horas)
  hora_x = math.cos(angulo_horas) * (raio - 60)
  hora_y = math.sin(angulo_horas) * (raio - 60)
  coord_finais = (x_inicial + hora_x, y_inicial + hora_y)
  pygame.draw.line(janela, VERMELHO, (x_inicial, y_inicial), coord_finais, 4)

  # desenha o ponteiro dos minutos
  angulo_minutos = corrigir_angulo(minutos * (360 / 60) - 90)
  angulo_minutos = math.radians(angulo_minutos)
  minutos_x = math.cos(angulo_minutos) * (raio - 40)
  minutos_y = math.sin(angulo_minutos) * (raio - 40)
  coord_finais = (x_inicial + minutos_x, y_inicial + minutos_y)
  pygame.draw.line(janela, VERMELHO, (x_inicial, y_inicial), coord_finais, 3)

  # desenha o ponteiro dos segundos
  angulo_segundos = corrigir_angulo(segundos * (360 / 60) - 90)
  angulo_segundos = math.radians(angulo_segundos)
  segundos_x = math.cos(angulo_segundos) * (raio - 30)
  segundos_y = math.sin(angulo_segundos) * (raio - 30)
  coord_finais = (x_inicial + segundos_x, y_inicial + segundos_y)
  pygame.draw.line(janela, VERMELHO, (x_inicial, y_inicial), coord_finais, 1)

  # redesenha a tela continuamente 
  pygame.display.update()

  # aciona o disparo do timer
  timer.tick(FPS)



Desafios, Exercícios e Algoritmos Resolvidos de Python

Veja mais Dicas e truques de Python

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 29 usuários muito felizes estudando em nosso site.