diff --git a/exercicios/para-casa/marcinha-tadakuma/exercicios-casa-extra.py b/exercicios/para-casa/marcinha-tadakuma/exercicios-casa-extra.py new file mode 100644 index 0000000..5e055e1 --- /dev/null +++ b/exercicios/para-casa/marcinha-tadakuma/exercicios-casa-extra.py @@ -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 \ No newline at end of file diff --git a/exercicios/para-casa/marcinha-tadakuma/marcinha-ex-casa.py b/exercicios/para-casa/marcinha-tadakuma/marcinha-ex-casa.py new file mode 100644 index 0000000..c07daea --- /dev/null +++ b/exercicios/para-casa/marcinha-tadakuma/marcinha-ex-casa.py @@ -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 \ No newline at end of file diff --git a/exercicios/para-sala/ex-carro.py b/exercicios/para-sala/ex-carro.py new file mode 100644 index 0000000..13744fc --- /dev/null +++ b/exercicios/para-sala/ex-carro.py @@ -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()) \ No newline at end of file diff --git a/exercicios/para-sala/ex-extra.py b/exercicios/para-sala/ex-extra.py new file mode 100644 index 0000000..92c4f5b --- /dev/null +++ b/exercicios/para-sala/ex-extra.py @@ -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()) diff --git a/exercicios/para-sala/ex-produtos.py b/exercicios/para-sala/ex-produtos.py new file mode 100644 index 0000000..f043785 --- /dev/null +++ b/exercicios/para-sala/ex-produtos.py @@ -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()) + + diff --git a/exercicios/para-sala/exe_animal.py b/exercicios/para-sala/exe_animal.py new file mode 100644 index 0000000..e0cb1f4 --- /dev/null +++ b/exercicios/para-sala/exe_animal.py @@ -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) \ No newline at end of file diff --git a/exercicios/para-sala/exe_classe.py b/exercicios/para-sala/exe_classe.py new file mode 100644 index 0000000..c198ce8 --- /dev/null +++ b/exercicios/para-sala/exe_classe.py @@ -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() diff --git "a/exercicios/para-sala/exemplo_heran\303\247a" "b/exercicios/para-sala/exemplo_heran\303\247a" new file mode 100644 index 0000000..beef3aa --- /dev/null +++ "b/exercicios/para-sala/exemplo_heran\303\247a" @@ -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() diff --git a/exercicios/para-sala/exer_2_classe.py b/exercicios/para-sala/exer_2_classe.py new file mode 100644 index 0000000..3943d63 --- /dev/null +++ b/exercicios/para-sala/exer_2_classe.py @@ -0,0 +1,46 @@ +# Exercício 2: Exercício de Classe, Atributo e Método (Nível Básico): Retângulo + +# 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 do retângulo. + +# 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: + +# __init__(self, largura, altura): O construtor que inicializa os atributos da largura e altura. +# calcular_area(self): Um método que calcula a área do retângulo (área = largura * altura). +# calcular_perimetro(self): Um método que calcula o perímetro do retângulo (perímetro = 2 * (largura + altura)). +# Exemplo: + +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_fabiana = Retangulo(5.0, 3.0) + +print(f'A casa da Fabiana, tem: {casa_fabiana.calcular_area()} área') + +print(f'a casa da fabiana tem {casa_fabiana.calcular_perimetro()} de perímetro') + + + +casa_daviny = Retangulo(9.0, 10.5) + +print(casa_daviny.calcular_area()) +print(casa_daviny.calcular_perimetro()) + + + + \ No newline at end of file diff --git a/exercicios/para-sala/exercicios_classes.py b/exercicios/para-sala/exercicios_classes.py new file mode 100644 index 0000000..a9b18df --- /dev/null +++ b/exercicios/para-sala/exercicios_classes.py @@ -0,0 +1,39 @@ + +class conta_bancaria: + def __init__(self, numero_conta, titular_conta, ): #metodo construtor + self.numero_conta = numero_conta + self.titular_conta = titular_conta + self.saldo = 0.0 # saldo inicil definido 0.0 + + def depositar(self, valor): + if valor > 0: + text = f'Valor depositado de R${valor}, realizado com sucesso.' + self.saldo =+ valor # self.saldo = self.saldo + valor + print(text) + else: + print('O valor do depósito deve ser maior que 0') + + 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.") + + +contaDaviny = conta_bancaria(202301, "Daviny Letícia") + +contaDaviny.depositar(100) + +contaDaviny.sacar(10) + +print(contaDaviny.saldo) + +contaLais = conta_bancaria(202302, "Lais") + +contaLais.depositar(80) + +contaLais.sacar(1000)