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
73 changes: 73 additions & 0 deletions exercicios/para-casa/S06-Exercicio_Heranca.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
'''
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(self):
imposto = self.preco * 0.1
return f"\nO valor do imposto do veículo é R${imposto:.2f}\n"

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 f"\nO preço do carro {self.modelo} do ano {self.ano} com desconto de 5% é R${(self.preco - desconto):.2f}"

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

def calcular_imposto(self):
imposto = self.preco * 0.05
return f"\nO valor do imposto da moto {self.modelo} do ano {self.ano} é R${imposto:.2f}\n"

while True:

veiculo = input("Qual o seu veículo, moto ou carro?\n").lower()

if veiculo == "moto":
modelo_moto = input("Qual o modelo da moto?\n")
preco_moto = float(input("Qual o preço da moto?\n"))
imposto_moto = Moto("Bis", 2012, 7000, 100)
print(imposto_moto.calcular_imposto())
break
elif veiculo == "carro":
modelo_carro = input("Qual o modelo do carro?\n")
preco_carro = float(input("Qual o preço do carro?\n"))
desconto_celta = Carro("Celta", 2014, preco_carro, "Chevrolet")
print(desconto_celta.calcular_desconto())
imposto_veiculo = Veiculo("Celta", 2014, 30000)
print(imposto_veiculo.calcular_imposto())
break
else:
print("Veículo deve ser Moto ou Carro. ")
83 changes: 83 additions & 0 deletions exercicios/para-sala/exemplo_heranca.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
class Animal:
def __init__(self, nome):
self.nome = nome

def fazer_som(self):
pass

class Cachorro(Animal):
def fazer_som(self):
return f"{self.nome} faz um latido."

class Gato(Animal):
def fazer_som(self):
return f"{self.nome} faz um 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, 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", "mulher cis", "Maria", "19", "data","junior")
maria_dba.info()

# ----

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úmero 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())
48 changes: 48 additions & 0 deletions exercicios/para-sala/exercicio_conta_bancaria.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
'''
Você está criando um programa para representar contas bancárias. Cada conta bancária tem um número de conta, um titular da conta e um saldo.
Você precisa criar uma classe ContaBancaria para representar essas contas e fornecer métodos para realizar operações básicas,
como depósito e saque.

`Instruções:`

Crie uma classe chamada ContaBancaria com os seguintes atributos:

numero_conta: o número da conta (um número inteiro).
titular_conta: o nome do titular da conta (uma string).
saldo: o saldo da conta (um número decimal, inicialmente definido como 0).
Implemente os seguintes métodos na classe ContaBancaria:

`__init__(self, numero_conta, titular_conta)`: O construtor que inicializa os atributos da conta.
depositar(self, valor): Um método que permite ao titular da conta depositar dinheiro na conta.
sacar(self, valor): Um método que permite ao titular da conta sacar dinheiro da conta, desde que haja saldo suficiente.
'''

class ContaBancaria:
def __init__(self, numero_conta, titular_conta):
self.numero_conta = numero_conta
self.titular_conta = titular_conta
self.saldo = 0.0

def depositar(self, valor):
if valor > 0:
self.saldo =+ valor #self.saldo = self.saldo + valor
print(f"Valor depositado de R${valor}, realizado com sucesso.")

def sacar(self, valor):
if valor > 0:
if self.saldo >= valor:
self.saldo -= 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.")

conta = ContaBancaria(202301, "Larissa Lemos")

conta.depositar(100)

conta.depositar(50)
print(conta.saldo)

conta.sacar(20)
46 changes: 46 additions & 0 deletions exercicios/para-sala/exercicio_produto.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
'''
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.
'''
class Produto:
def __init__(self, nome, preco):
self.nome = nome
self.preco = preco

def descricao(self):
return f"Nome do produto: {self.nome}.\nPreço do produto: 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()

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", 50, 0.5, "10x15x3")

print(produto_fisico_darla.descricao())

produto_digital_darla = ProdutoDigital("E-book", 50, 10)

print(produto_digital_darla.descricao())
32 changes: 32 additions & 0 deletions exercicios/para-sala/exercicio_retangulo.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
'''
Crie uma classe chamada Retangulo para representar retângulos.
Cada retângulo tem largura e altura.
A classe deve incluir métodos para calcular a área e o perímetro.

Instruções:

Crie uma classe chamada Retangulo com os seguintes atributos:

largura: a largura do retângulo (um número decimal).
altura: a altura do retângulo (um número decimal).
Implemente os seguintes métodos na classe Retangulo:
'''

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

def calcular_area(self):
return self.largura * self.altura
# print(f"O valor da área do retângulo é: {area}")

def calcular_perimetro(self):
return (2 * self.largura) + (2 * self.altura)
# print(f"O valor da perímetro do retângulo é: {perimetro}")


dimensoes = Retangulo(10, 10)
print(f"\nA área do retângulo é: {dimensoes.calcular_area()}")
print(f"\nO perímetro do retângulo é: {dimensoes.calcular_perimetro()}")
print(f"\nA largura do retângulo é: {dimensoes.largura}\n")