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
58 changes: 58 additions & 0 deletions exercicios/para-casa/Veiculo.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
class Veiculo:
def __init__(self, modelo, ano_veiculo, preco_veiculo):
self.modelo = modelo
self.ano_veiculo = ano_veiculo
self.preco_veiculo = preco_veiculo


def calcular_imposto(self):
# 10% do preço do veículo.
imposto = self.preco_veiculo * 0.10
return imposto

def __str__(self):
return f"Modelo: {self.modelo}, Ano: {self.ano_veiculo}, Preço: R${self.preco_veiculo:.2f}"


class Carro (Veiculo):
def __init__(self, modelo, ano_veiculo, preco_veiculo, marca):
super().__init__(modelo, ano_veiculo, preco_veiculo)
self.marca = marca

def desconto_carro(self):
# 5% no preço do carro.
imposto = self.preco_veiculo * 0.05
return self.preco_veiculo - imposto

def __str__(self):
return f"Modelo: {self.modelo}, Ano: {self.ano_veiculo}, Preço: R${self.preco_veiculo:.2f}"


class Moto( Veiculo):
def __init__(self, modelo, ano_veiculo, preco_veiculo, cilindrada):
super().__init__(modelo, ano_veiculo, preco_veiculo)
self.cilindrada = cilindrada


def imposto_moto(self):

imposto_moto = self.preco_veiculo * 0.05
return imposto_moto

def __str__(self):
return f"Modelo: {self.modelo}, Ano: {self.ano_veiculo}, Preço: R${self.preco_veiculo:.2f}"



carro_carol = Carro('HB20', 2023, 140000.00, 'Hyundai')
moto_carol = Moto( 'PCX', 2023, 26000.00, 150)

print("Descrição do Carro:")
print(carro_carol)
print(f"Imposto do Carro: R${carro_carol.calcular_imposto():.2f}")
print(f"Preço com Desconto do Carro: R${carro_carol.desconto_carro():.2f}")
print("**************************")
print("Descrição da Moto")
print(moto_carol)
print(f"Imposto da Moto: R${moto_carol.imposto_moto():.2f}")

55 changes: 55 additions & 0 deletions exercicios/para-sala/exemplo_eranca.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
"""class Animal:
def __init__(self, nome):
self.nome = nome

def fazer_som(self):
pass


class Cachorro(Animal): # herda com a classe entre pareteses
def fazer_som (self):
return f'{ self.nome} faz latido'
def andar(self)
pass # quando não quizer colocar nada dentro uso pass

class Gato(Animal):
def fazer_som (self):
return f'{ self.nome} faz miado'

animal_1 = Animal( 'kaki')
cachorro_da_gabi = Cachorro()
cachorro_da_gabi.fazer_som()
"""
#----


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,dade, setor, nivel ):
super().__init__ (nacionalidade,genero,nome,dade)
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()


33 changes: 33 additions & 0 deletions exercicios/para-sala/exercicio_classe.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@

class cachorro:
def __init__ ( self, nome,raca ): #init 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', 'Hammier')
cachorro_rex = cachorro('rex','Pinscher')

print(cachorro_lulu.info())


cachorro_lulu.info()
cachorro_rex.info()

cachorro_lulu.andar() # depois do ponto é o metodo
cachorro_rex.andar()


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

43 changes: 43 additions & 0 deletions exercicios/para-sala/exercicio_classes_conta.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@

class ContaBancaria:

def __init__ (self, num_conta,nome_titular): # saldo não pq é zerado
self.num_conta = num_conta
self.nome_titular = nome_titular
self.saldo_conta = 0.0

def depositar(self, valor):
if valor > 0: # tratamento d erro
self.saldo_conta =+ valor
print ( f' o valor depositado é: ', valor)
else:
print( " o valor do deposito deve ser maior que 0.0")
#print( self.num_conta, self.saldo_conta)
#self.valor = float(input('digite o valor a ser depositado' ))
#print ( f' o saldo atual é: ', saldo_conta)




def sacar( self, valor):
if valor > 0:
if self.saldo_conta >= 0:
self.saldo_conta -= valor
print(f'Saque de R$ {valor} realizado com sucesso')
else:

print("saldo insuficiente para realizar o saque")
else:
print("O valor do saque deve ser maior que zero.")


ContaCarol = ContaBancaria( 202301, 'carol ribeiro')
ContaCarol.depositar(100)

ContaCarol.sacar(10)
print(ContaCarol.saldo_conta)

ContaLais = ContaBancaria( 202302, 'Lais')
ContaLais.depositar(80)
ContaLais.sacar(1000)
print(ContaLais.saldo_conta)
41 changes: 41 additions & 0 deletions exercicios/para-sala/exercicio_classes_retangulo.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@

class Retangulo:

def __init__(self, altura, largura):
# self.area = area
#self.perimetro = perimetro
self.altura = altura
self.largura = largura

def calcular_area( self):
# ou pode usar o self.area = self.altura * self.largura
return self.altura*self.largura
print(f' a area do retangulo é = {self.area }')



def calcular_perimetro( self):
# ou pode usar o self.perimetro = 2* (self.altura + self.largura)
return 2* self.altura+self.largura
print(f' o valor do perimetro é = { self.perimetro}')


casa_carol = Retangulo (12.6, 14.5)

casa_carol.calcular_area()
print(f' A casa da carol, tem {casa_carol.calcular_area() } de area ')
casa_carol.calcular_perimetro()
print(f' A casa da carol, tem {casa_carol.calcular_perimetro() } de perimetro ')


casa_largata = Retangulo(2, 3)
casa_largata.calcular_area
print(f' A casa da largata, tem {casa_largata.calcular_area() } de area ')
casa_largata.calcular_perimetro
print(f' A casa da largata, tem {casa_largata.calcular_perimetro() } de perimetro ')






37 changes: 37 additions & 0 deletions exercicios/para-sala/exercicio_eranca_Produtos.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
class Produto:
def __init__(self, nome, preco):
self.nome = nome
self.preco = preco


def descricao ( self):
return f'Nome: {self.nome}, Preco: {self.preco}'

class ProdutoFisico( Produto):
def __init__(self, nome,preco,peso, dimencoes):

#
super().__init__ (nome,preco)
self.peso = peso
self.dimencoes = dimencoes
def descricao(self):
return super().descricao() + f'Peso: {self.peso}, Dimenções: { self.dimencoes}'



class ProdutoDigital(Produto):
def __init__(self, nome,preco,tamanho_arq, tipo):

#
super().__init__ (nome,preco)
self.tamanho_arq = tamanho_arq
self.tipo= tipo
def descricao(self):
return super().descricao() + f'Tamanho_arq: {self.tamanho_arq}, Tipo: { self.tipo}'



produto_fisico = ProdutoFisico ('mesa', 100.00, 20, '2x2x1.5')
print (produto_fisico.descricao())
produto_digital = ProdutoDigital('manual antirracista', 100.00, 12, 'E-book')
print (produto_digital.descricao())
46 changes: 46 additions & 0 deletions exercicios/para-sala/exercicio_extra.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
"""
exercício extra
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_proprietario, preco_base):
self.endereco = endereco
self.nome_proprietario = nome_proprietario
self.preco_base = preco_base




def calcular_aluguel(self):
return self.preco_base

class Casa (Imovel):
def __init__(self, endereco, nome_proprietario, preco_base, area_terreno):
super().__init__(endereco, nome_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_proprietario, preco_base, num_quartos):
super().__init__(endereco, nome_proprietario, preco_base)
self.num_quartos = num_quartos

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

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


print(casa_maria.calcular_aluguel())
47 changes: 47 additions & 0 deletions exercicios/para-sala/exercício_eranca_veículos.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@


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, cavalos):
#cavalos ):
super().__init__ (marca,modelo,ano)
self.num_portas = num_portas
self.cavalos = cavalos
def descricao(self):
return super().descricao() + f'Portas: {self.num_portas}, Cavalos: { self.cavalos}'

class Moto(Veiculo):
def __init__(self, marca,modelo,ano, estilo, motor):
#motor ):
super().__init__ (marca,modelo,ano)
self.estilo = estilo
self.motor = motor
def descricao(self):
return super().descricao() + f' Estilo: {self.estilo}, Motor: {self.motor}'
#f'Estilo:{self.estilo}, Motor{self.motor}' + super().descricao


carro = Carro( 'Toyota', 'Corolla', 2023, 4, 40)
print (carro.descricao())
moto = Moto( 'Honda', 'ADV', 2023, 'street', 260)
print (moto.descricao())

carro_carol = Carro('Fiat', ' uno', 2023, 2 , 20)
print (carro_carol.descricao())
moto_carol = Moto('Honda', ' PCX', 2018, ' Street', 150)
print (moto_carol.descricao())





Loading