Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 52 additions & 0 deletions exercicios/para-casa/Exercício_de_casa.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# Crie uma classe base chamada Veiculo com os seguintes atributos:
# modelo: o modelo do veículo (uma string).
# ano: o ano de fabricação do veículo (um número inteiro). preco: o preço do veículo (um número decimal).
# Na classe Veiculo, implemente um método chamado calcular_imposto() que retorna o imposto a ser pago pelo veículo.
# O imposto é calculado como 10% do preço do veículo.
# Crie uma classe chamada Carro que herda da classe Veiculo. Adicione um atributo adicional:

# marca: a marca do carro (uma string). Na classe Carro, implemente um método chamado desconto() que retorna um desconto
# de 5% no preço do carro.
# Crie uma classe chamada Moto que também herda da classe Veiculo. Adicione um atributo adicional:

# cilindrada: a cilindrada da moto (um número inteiro). Na classe Moto, implemente um método chamado calcular_imposto()
# que calcula o imposto a ser pago pela moto. O imposto para motos é de 5% do preço do veículo.
# Crie instâncias de Carro e Moto, atribuindo valores adequados aos atributos de cada veículo.

# Calcule e imprima o imposto a ser pago por cada veículo usando o método calcular_imposto().


class Veiculo:
def _init_(self,modelo,ano,preco):
self.modelo = modelo
self.ano= ano
self.preco = preco

def calcular_imposto_carro(self):
imposto = self.preco * 0.1
return imposto

class Carro(Veiculo):
def _init_(self, modelo, ano, preco,marca):
super().__init__(modelo, ano, preco)
self.marca = marca

def calcular_desconto(self):
desconto = self.preco * 0.05
return desconto

class Moto(Veiculo):
def _init_(self, modelo, ano, preco, cilindrada):
super().__init__(modelo, ano, preco)
self.cilindrada = cilindrada

def calcular_imposto_moto(self):
imposto = self.preco * 0.05
return imposto

carro_maria = Carro('esportivo', 2023, 25, 'porsche caycan')
moto_joana = Moto('custom-harley davidson', 2023, 50, 1000)

print(carro_maria.calcular_imposto_carro())
print(moto_joana.calcular_imposto_moto())

32 changes: 32 additions & 0 deletions exercicios/para-casa/exercio_extra.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
class Funcionario:
def __init__(self, nome, salario):
self.nome = str(nome)
self.salario - 0

def calcularPagamento(self):
pass

class Temporario(Funcionario):
def __init__(self, nome, salarioporhora, hora):
self.nome = str(nome)
self.salarioporhora = salarioporhora
self.hora = hora

def calcularPagamento(self):
salario = self.salarioporhora * self.hora
return salario

class FuncionarioIntegral(Funcionario): #funcionario dentro do () para poder chamar a classe lá de cima
def __init__(self, nome, salariomensal):
super().__init__(nome)
self.salariomensal = salariomensal

def calcularPagamento(self):
return self.salariomensal

maria_funcionario = FuncionarioIntegral("Maria", 20.000)
andreza_funcionario = Temporario ("Andreza", 1500, 10)

print(maria_funcionario.calcularPagamento())
print(andreza_funcionario.calcularPagamento())

27 changes: 27 additions & 0 deletions exercicios/para-sala/exemplo_herança.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@

class Person:
def __init__(self, nacionalidade, genero, nome, idade):
self.nacionalidade = nacionalidade
self.genero = genero
self.nome = nome
self.idade = idade

def info(self):
print(self.nacionalidade, self.genero, self.nome, self.idade)

class PersonProfessional(Person):
def __init__ (self, nacionalidade, genero, nome, idade, setor, nivel):
super().__init__(nacionalidade, genero, nome, idade)
self.setor = setor
self.nivel = nivel


def info(self):
super().info()
print("Setor:", self.setor)
print("Nível:", self.nivel)


maria_dba = PersonProfessional('brasileira', 'feminina', 'Maria', '19', 'data', 'junior')

maria_dba.info()
46 changes: 46 additions & 0 deletions exercicios/para-sala/exercicio1.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@

#### exemplo rxtra - com desconto ###


# Implemente o método calcular_aluguel() em cada uma das subclasses para calcular o valor do aluguel com base em regras específicas:
# Para Casa, o aluguel deve ser calculado como preco_base + (area_terreno * 5).
# Para Apartamento, o aluguel deve ser calculado como preco_base + (numero_quartos * 300).
# e superclass tem o atributo endereco e nome_do_proprietario


class Imovel:
def __init__(self, endereco, nome_do_proprietario, preco_base):
self.endereco = endereco
self.nome_do_proprietario = nome_do_proprietario
self.preco_base = preco_base

def calcular_aluguel(self):
return self.preco_base

class Casa(Imovel):
def __init__(self, endereco, nome_do_proprietario, preco_base, area_terreno):
super().__init__(endereco, nome_do_proprietario, preco_base)
self.area_terreno = area_terreno

def calcular_aluguel(self):
resp = self.preco_base + (self.area_terreno * 5)
return resp

class Apartamento(Imovel):
def __init__(self, endereco, nome_do_proprietario, preco_base, numero_quartos):
super().__init__(endereco,nome_do_proprietario, preco_base)
self.numero_quartos = numero_quartos

def calcular_aluguel(self):
resp = self.preco_base + (self.numero_quartos * 300)
return resp


casa_maria = Casa("122 Rua das Flores", "Maria", 1500, 300)
apartamento_carlos = Apartamento("333, Av. João Mendes", 'Carlos Jose', 1200, 2)


print(casa_maria.calcular_aluguel())



59 changes: 59 additions & 0 deletions exercicios/para-sala/exercicio3.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
#- Exercício 3: Veículos

#Crie um sistema de gerenciamento de veículos. Crie uma classe base chamada Veiculo com os seguintes atributos:

# - marca: a marca do veículo.
# - modelo: o modelo do veículo.
# - ano: o ano de fabricação do veículo.


# A classe Veiculo deve ter um método chamado `descricao()` que retorna uma descrição completa do veículo.

# Crie duas subclasses concretas, Carro e Moto, que herdam da classe Veiculo. Adicione atributos específicos para cada tipo de veículo, como número de portas para carros e tipo de motor para motos.

# Implemente o método `descricao()` em cada uma das subclasses para incluir informações específicas do tipo de veículo.

# Crie instâncias de Carro e Moto, atribuindo valores adequados aos atributos de cada veículo. Use o método `descricao()` para exibir informações detalhadas sobre cada veículo.


class Veiculo:
def __init__(self, marca, modelo, ano):
self.marca = marca
self.modelo = modelo
self.ano = ano

def descricao(self):
return f'Marca: {self.marca}, Modelo: {self.modelo}, Ano: {self.ano}'

class Carro(Veiculo):
def __init__(self, marca, modelo, ano, num_portas):
super().__init__(marca, modelo, ano)
self.num_portas = num_portas

def descricao(self):
return super().descricao() + f', Números de portas: {self.num_portas}'


class Moto(Veiculo):
def __init__(self, marca, modelo, ano, tipo_motor):
super().__init__(marca, modelo, ano)
self.tipo_motor = tipo_motor

def descricao(self):
return super().descricao() + f'tipo de motor: {self.tipo_motor}'


carro = Carro('Toyota', 'Corolla', 2023, 4)

moto = Moto('honda', 'CBR500R', 2022, '4 tempos')


print(carro.descricao())

print(moto.descricao())


carro_joao = Carro('Fiat', 'Siena', 2018, 4)


print(carro_joao.descricao())
52 changes: 52 additions & 0 deletions exercicios/para-sala/exercicio_produto.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
#Exercício 2: Produtos

#Crie um sistema de gerenciamento de produtos em uma loja. Crie uma classe base chamada Produto com os seguintes atributos:

#nome: o nome do produto.
#preco: o preço do produto.
#A classe Produto deve ter um método chamado `descricao()` que retorna uma descrição completa do produto.

#Crie duas subclasses concretas, ProdutoFisico e ProdutoDigital, que herdam da classe Produto. Adicione atributos específicos para cada tipo de produto, como peso e dimensões para produtos físicos e tamanho de arquivo para produtos digitais.

#Implemente o método `descricao()` em cada uma das subclasses para incluir informações específicas do tipo de produto.

#Crie instâncias de ProdutoFisico e ProdutoDigital, atribuindo valores adequados aos atributos de cada produto. Use o método `descricao()` para exibir informações detalhadas sobre cada produto.

#Esses exercícios ajudarão você a praticar a criação de hierarquias de classes com herança em Python e a entender como compartilhar funcionalidades comuns e adicionar comportamentos específicos em subclasses.

# exerecicio 2

class Produto:
def __init__(self, nome, preco):
self.nome = nome
self.preco = preco

def descricao(self):
return f'nome: {self.nome}, Preço R$ {self.preco}'

class ProdutoFisico(Produto):
def __init__(self, nome, preco, peso, dimensoes):
super().__init__(nome, preco)
self.peso = peso
self.dimensoes = dimensoes


def descricao(self):
return super().descricao() + f", Peso: {self.peso} kg, Dimensões: {self.dimensoes} cm"

class ProdutoDigital(Produto):
def __init__(self, nome, preco, tamanho_arquivo):
super().__init__(nome,preco)
self.tamanho_arquivo = tamanho_arquivo

def descricao(self):
return super().descricao() + f", Tamanho do Arquivo: {self.tamanho_arquivo} MB"


produto_fisico_darla = ProdutoFisico('livro', 30.00, 0.5, '20x15x3')

print(produto_fisico_darla.descricao())

produto_digital_darla = ProdutoDigital('E-book', 50.00, 10)

print(produto_digital_darla.descricao())
38 changes: 38 additions & 0 deletions exercicios/para-sala/exercico2.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Exercicio 2 Retangulo

class Retangulo:
def __init__(self, largura, altura):
self.largura = largura
self.altura = altura

def calcular_area(self):
# print(f'calcular a área{self.largura * self.altura}')
return self.largura * self.altura

def calcular_perimetro(self):
return 2 * (self.largura + self.altura)


casa_fatima = Retangulo(5.0, 3.0)

print(f'A casa da Fatima, tem: {casa_fatima.calcular_area()} área')

print(f'a casa da fatima tem {casa_fatima.calcular_perimetro()} de perímetro')



casa_fatima = Retangulo(9.0, 10.5)

print(casa_fatima.calcular_area())
print(casa_fatima.calcular_perimetro())

print(f'a casa da Fatima, tem:{casa_fatima.calcular_area()} área')

print(f'a casa da Fatima tem {casa_fatima.calcular_perimetro()} de perímetro')



casa_fatima = Retangulo(9.0, 10.5)

print(casa_fatima.calcular_area())
print(casa_fatima.calcular_perimetro())
46 changes: 46 additions & 0 deletions exercicios/para-sala/exercico_classes.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
#### EM PYTHON TUDO O QUE A GENTE CRIA É OBJETO###
### TUDO QUE VEN DEPOSI DO .(PONTO) SÃO MÉTODOS###

##A POO divide em 4 pilares: Abstração, Encapsulamento, Herança, Polimorfismo##



class cachorro:
def __init__(self, nome, raca): # metodo construtor
self.nome = nome
self.raca = raca

def andar(self):
print('estou andando', self.nome)

def info(self):
print(self.nome, self.raca)


cachorro_lulu = cachorro('lulu', 'Harrier')

cachorro_rex = cachorro('rex', 'Pinscher')

# .... N objetos

cachorro_lulu.info()

cachorro_rex.info()

cachorro_lulu.andar()

print(f'nome do meu cachoro: {cachorro_lulu.nome}')

cachorro_lulu.nome

cachorro_rex.andar()

b = 1
a = 2

print(b.__class__)

resp = b.__add__(a)


print(resp)
Loading