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()




joao tbm estou nesse problema, se terminou pode me ajudar?
estou nesse msm problema, conseguiu resolver?
se eu mandar printar apenas as duas primeiras categorias o #teste1 funciona, mas quando mandar printar todas ele da esse erro em todas
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
O estranho é que no vscode sai os resultados esperados, ai na plataforma consta somente os valore 1500 e 1200 nos outros produtos
@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!