1
resposta

[Dúvida] Esta conforme ?

Sem POO

def cadastrar_produtos():
    produtos = []

    for _ in range(3):
        nome = input("Digite o nome do produto: ")
        preco = input("Digite o preço do produto: ")

        produtos.append({
            "produto": nome,
            "preco": preco
        })

    return produtos


def listar_produtos(produtos):
    print("\nLista de Produtos:")

    for p in produtos:
        print("- {} | R$ {}".format(p["produto"], p["preco"]))


def main():
    produtos = cadastrar_produtos()
    listar_produtos(produtos)

main()

Com POO

class Loja:
    def __init__(self, nome, precos):
        self.nome = nome
        self.precos = precos
        self.produtos = []

    def adicionar_produto(self, produto, preco):
        self.produtos.append({
            "produto": produto,
            "preco": preco
        })

    def __str__(self):
        texto = "Loja: {}\n".format(self.nome)
        for p in self.produtos:
            texto += ("- {} | R$ {}\n".format
                      (p["produto"], p["preco"]))
        return texto


loja = Loja("Minha Loja", [])

for _ in range(3):
    produto = input("Digite o nome do produto: ")
    preco = input("Digite o preço: ")
    loja.adicionar_produto(produto, preco)

print(loja)
1 resposta

Oii, Samuel! Como vai?

Agradeço por compartilhar.

Gostei da sua análise comparando a solução sem POO e com POO, importante notar que ambas estão conformes com o objetivo da atividade e usam bem o conceito de funções e organização do código. Sua versão com POO mostra uma boa compreensão de encapsulamento e deixa o código mais preparado para crescer. Continue explorando essas abordagens, isso ajuda bastante no raciocínio lógico e na leitura do código.

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