image

Bootcamps ilimitados + curso de inglês para sempre

80
%OFF

JO

João Oliveira14/09/2024 16:22
Compartilhe
WEX - End to End EngineeringRecomendados para vocêWEX - End to End Engineering

ERRO! DESAFIO 2/2 - Explorando Técnicas de POO com Python

    Caros, boa tarde! Estou com problemas na hora de executar o teste na plataforma. Testei o mesmo códigop no vscode e o resultado foi correto, porém na plataforma da erro na saida esperada!

    Mais alguém passando por esse problema

    Aqui está o meu script:

    class Venda:

        def __init__(self, produto, quantidade, valor):

            self.produto = produto

            self.quantidade = quantidade

            self.valor = valor

    class Categoria:

        def __init__(self, nome):

            self.nome = nome

            self.vendas = []

        def adicionar_venda(self, venda):

            self.vendas.append(venda)

        def total_vendas(self):

            # Calcula o total somando apenas o valor unitário das vendas

            total = 0

            for venda in self.vendas:

                total += venda.valor

            return total

    def main():

        # Dados fornecidos para as categorias e vendas

        dados = {

            "Eletrônicos": [

                ("Celular", 5, 1000),

                ("Fone de Ouvido", 10, 500)

            ],

            "Móveis": [

                ("Mesa", 2, 800),

                ("Cadeira", 4, 400)

            ],

            "Alimentos": [

                ("Arroz", 10, 200),

                ("Feijão", 7, 140)

            ],

            "Jardinagem": [

                ("Planta", 2, 60),

                ("Ferramentas", 1, 100)

            ],

            "Livros": [

                ("Aventuras no Tempo", 1, 80),

                ("Mistérios do Oceano", 2, 90)

            ],

            "Esportes": [

                ("Tênis", 7, 210),

                ("Bola", 3, 120)

            ]

        }

        categorias = {}

        # Adicionar vendas às categorias

        for nome_categoria, vendas in dados.items():

            if nome_categoria not in categorias:

                categorias[nome_categoria] = Categoria(nome_categoria)

           

            for produto, quantidade, valor in vendas:

                venda = Venda(produto, quantidade, valor)

                categorias[nome_categoria].adicionar_venda(venda)

        # Exibir os totais de vendas por categoria

        for nome_categoria, categoria in categorias.items():

            total = categoria.total_vendas()

            print(f'Vendas em {nome_categoria}: {total:.1f}')

    if __name__ == "__main__":

        main()

    Compartilhe
    Recomendados para você
    WEX - End to End Engineering
    Microsoft 50 Anos - Prompts Inteligentes
    Microsoft 50 Anos - GitHub Copilot
    Comentários (5)
    João Basante
    João Basante - 17/10/2024 16:09

    joao tbm estou nesse problema, se terminou pode me ajudar?

    Belchior Sobanski
    Belchior Sobanski - 15/09/2024 12:33

    estou nesse msm problema, conseguiu resolver?

    image


    image


    se eu mandar printar apenas as duas primeiras categorias o #teste1 funciona, mas quando mandar printar todas ele da esse erro em todas

    Ronaldo Schmidt
    Ronaldo Schmidt - 14/09/2024 19:19

    Da um print no resultados dos testes para que eu possa lhe ajudar.

    As vezes um erro de sintaxe ,um acento,uma palavra a mais causa o erro.

    A saida de ser estritamente igual a saida esperada no enunciado.

    JO

    João Oliveira - 14/09/2024 17:21


    O estranho é que no vscode sai os resultados esperados, ai na plataforma consta somente os valore 1500 e 1200 nos outros produtos

    Caio Arruda
    Caio Arruda - 14/09/2024 16:26

    @João Oliveira

    O erro não está no seu código. No enunciado eles pedem para considerar a quantidade de produtos, mas na saída, se você ler atentamente, eles esperam apenas o valor unitário, sem a multiplicação com as quantidades.

    Eu fiz um tópico mais detalhado no curso de Engenharia de Dados da NTT que pode te ajudar.


    Tópico do desafio!

    Recomendados para vocêWEX - End to End Engineering