Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

exercicios da semana feito em grupo #26

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
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
35 changes: 35 additions & 0 deletions exercicios/para-casa/marcinha-tadakuma/exercicios-casa-extra.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
class Funcionario:
def __init__(self,nome):
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):
def __init__(self, nome, salariomensal):
super().__init__(nome)
self.salariomensal = salariomensal

def calcularPagamento(self):
return self.salariomensal

marcinhatabata_funcionario = FuncionarioIntegral ('Marcinha Tabata',20.000)
fatinha_funcionario = Temporario ('Fatinha Rodrigues',1500, 10)

print (marcinhatabata_funcionario.calcularPagamento())
print (fatinha_funcionario.calcularPagamento())



#Feito em chamada com as meninas da turma: Andreza, Igea, Louise, Thaysa, Julia, Maria de Fatima, Marcinha
61 changes: 61 additions & 0 deletions exercicios/para-casa/marcinha-tadakuma/marcinha-ex-casa.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# 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):
return 0.1 * self.preco

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

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

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

def calcular_imposto(self):
return self.preco * 0.05

carro1 = Carro("mini cooper", 2023, 25000.0, "BMW")
moto1 = Moto("Kawasaki Ninja", 2023, 15000.0, 1000)

imposto_carro1 = carro1.calcular_imposto()
print(f"Imposto a ser pago pelo carro {carro1.marca} {carro1.modelo}: R$ {imposto_carro1:.2f}")


desconto_carro1 = carro1.calcular_desconto()
print(f"Desconto aplicado no carro {carro1.marca} {carro1.modelo}: R$ {desconto_carro1:.2f}")


imposto_moto1 = moto1.calcular_imposto()
print(f"Imposto a ser pago pela moto (cilindrada {moto1.cilindrada}cc): R$ {imposto_moto1:.2f}")






#Feito em chamada com as meninas da turma: Andreza, Igea, Louise, Thaysa, Julia, Maria de Fatima, Marcinha
43 changes: 43 additions & 0 deletions exercicios/para-sala/ex-carro.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
#exercício 1 - Veiculo

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())
41 changes: 41 additions & 0 deletions exercicios/para-sala/ex-extra.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# complemente 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())
56 changes: 56 additions & 0 deletions exercicios/para-sala/ex-produtos.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# 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.

# c
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())


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


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"

def andar(self):
pass


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


mel = Gato ("mel")

mel.fazer_som()

print(mel)
53 changes: 53 additions & 0 deletions exercicios/para-sala/exe_classe.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@

# 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", "Harier")

# cachorro_rex = cachorro ("rex", "Pinscher")



# print(cachorro_lulu.info())

# cachorro_lulu.info()
# cachorro_rex.inf()
# cachorro_lulu.andar()
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()
27 changes: 27 additions & 0 deletions exercicios/para-sala/exemplo_herança
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 anos', 'data', 'junior')

maria_dba.info()
Loading