Exercícios da Semana 01: Programação Orientada a Objetos

Desafios para consolidar seus conhecimentos em Classes, Atributos e Métodos.

Exercício 1: Classe `Livro`

Crie uma classe chamada `Livro` com os seguintes atributos de instância: `titulo`, `autor` e `paginas`. O construtor (`__init__`) deve aceitar esses três valores como parâmetros para inicializar os atributos.

Definição da Classe `Livro`

class Livro:
    def __init__(self, titulo, autor, paginas):
        self.titulo = titulo
        self.autor = autor
        self.paginas = paginas

# Exemplo de uso:
# meu_livro = Livro("Aventuras de Python", "Ada Lovelace", 250)
# print(f"Título: {meu_livro.titulo}, Autor: {meu_livro.autor}, Páginas: {meu_livro.paginas}")

Simulador: Criar Objeto `Livro`

Preencha os dados para criar um livro e ver seus atributos.

Exercício 2: Classe `ContaBancaria`

Crie uma classe chamada `ContaBancaria` com os atributos de instância: `titular` (nome do titular da conta) e `saldo` (o saldo atual da conta). O `saldo` deve ser inicializado com 0.0 se nenhum valor for fornecido no construtor.

Definição da Classe `ContaBancaria`

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

# Exemplo de uso:
# conta1 = ContaBancaria("João Silva")
# print(f"Titular: {conta1.titular}, Saldo: {conta1.saldo}") # Saída: Saldo: 0.0
#
# conta2 = ContaBancaria("Maria Souza", 1500.00)
# print(f"Titular: {conta2.titular}, Saldo: {conta2.saldo}") # Saída: Saldo: 1500.0

Simulador: Criar Objeto `ContaBancaria`

Crie uma conta bancária. O saldo inicial é opcional.

Exercício 3: Métodos de `ContaBancaria`

À classe `ContaBancaria` criada no exercício anterior, adicione dois métodos de instância:

  • `depositar(valor)`: Este método deve receber um `valor` e adicioná-lo ao `saldo` da conta. Deve imprimir uma mensagem confirmando o depósito e o novo saldo.
  • `sacar(valor)`: Este método deve receber um `valor` e subtraí-lo do `saldo`. Deve verificar se há saldo suficiente antes de efetuar o saque. Se houver, imprime o novo saldo; caso contrário, imprime uma mensagem de erro.

Definição dos Métodos de `ContaBancaria`

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

    def depositar(self, valor):
        if valor > 0:
            self.saldo += valor
            print(f"Depósito de R${valor:.2f} realizado com sucesso.")
            print(f"Novo saldo: R${self.saldo:.2f}")
        else:
            print("Valor de depósito inválido.")

    def sacar(self, valor):
        if valor > 0 and self.saldo >= valor:
            self.saldo -= valor
            print(f"Saque de R${valor:.2f} realizado com sucesso.")
            print(f"Novo saldo: R${self.saldo:.2f}")
        elif valor <= 0:
            print("Valor de saque inválido.")
        else:
            print(f"Saldo insuficiente para sacar R${valor:.2f}. Saldo atual: R${self.saldo:.2f}")

# Exemplo de uso:
# minha_conta = ContaBancaria("Alice", 1000.00)
# minha_conta.depositar(200.00)
# minha_conta.sacar(300.00)
# minha_conta.sacar(1500.00)

Simulador: Operações Bancárias

Interaja com uma conta bancária de exemplo: `Titular: Exemplo, Saldo: R$ 500.00`