1
resposta

[Dúvida] Esta conforme ?

class Conta:
    def __init__(self, nome, saldo):
        self._nome = nome
        self._saldo = saldo

    def gorjeta(self):
        porcentagem = float(input("Digite a porcentagem da gorjeta: "))

        valor_gorjeta = self._saldo * (porcentagem / 100)
        total = self._saldo + valor_gorjeta

        print("Valor da gorjeta: R$ {:.2f}".format(valor_gorjeta))
        print("Total a pagar: R$ {:.2f}".format(total))
from praticanos_projetos.Calculando_a_gorjeta_em_um_restaurante import Conta

conta = Conta("Samuel", 120)
conta.gorjeta()
1 resposta

Oii, Samuel! Tudo bem?

Excelente iniciativa! Você foi além do básico e aplicou Orientação a Objetos (POO) para resolver o desafio. Isso mostra que você já está pensando na estrutura do código de forma mais robusta, o que é ótimo!

Respondendo à sua pergunta: Sim, a lógica matemática e o funcionamento do código estão corretos. O cálculo da porcentagem e a formatação da saída estão perfeitos.

Tenho apenas uma pequena observação para deixar seu código 100% alinhado com o enunciado do exercício e evitar erros de execução:

Entrada de dados (Input)
O enunciado pede: "Crie um programa que peça ao usuário o valor da conta".
No seu código, você definiu o valor fixo de 120 ao criar o objeto (Conta("Samuel", 120)). Para deixar o programa dinâmico como o exercício pede, você pode solicitar esse valor via input antes de criar a conta.

Continue assim, praticar com Classes desde cedo vai te ajudar muito nos projetos futuros!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!