Brinquedos com Desconto
Técnicas de Programação com Funções e Classes - 1/2
Descrição
Seu objetivo é ajudar a loja a identificar quais brinquedos estão elegíveis para descontos com base na quantidade comprada. Neste desafio, você vai receber uma lista de brinquedos, suas quantidades compradas e preços unitários. Sua tarefa é verificar quais brinquedos devem ter um desconto aplicado e quais devem manter o preço original. Você receberá um código que já inclui a função e o cálculo de desconto necessários. A função aplicará automaticamente um desconto de 10% para brinquedos cujo estoque comprado for igual ou maior que 5 unidades. Você deve utilizar essa função para processar a lista de brinquedos e formatar a saída conforme o esperado.
Passo a Passo:
-
Entrada de Dados: O usuário fornecerá uma lista de brinquedos no formato "Nome: Quantidade, Preço Unitário", onde:
- "Nome" é o nome do brinquedo.
- "Quantidade" é a quantidade comprada desse brinquedo.
- "Preço Unitário" é o preço de uma unidade do brinquedo.
Os brinquedos são separados por - e cada parte do brinquedo é separada por ,. Por exemplo: "Carrinho: 10, 15.00 - Boneca: 3, 25.00".
-
Processamento dos Dados: Utilize a função e o cálculo de desconto fornecidos para determinar o preço final de cada brinquedo. Se a quantidade comprada for 5 ou mais, aplique um desconto de 10% sobre o preço unitário. Caso contrário, mantenha o preço unitário inalterado.
-
Formatação da Saída: Para cada brinquedo, retorne uma string no formato "Nome: Preço com Desconto". Se o brinquedo não for elegível para desconto, retorne o preço sem desconto. Separe as informações dos brinquedos por - e espaço.
Entrada
O usuário deverá fornecer uma lista de brinquedos e suas respectivas quantidades e preços no seguinte formato:
Formato:
Nome_do_brinquedo: quantidade, preço_unitário - Nome_do_brinquedo: quantidade, preço_unitário
Saída
A saída será uma lista de brinquedos com seus respectivos preços finais após a aplicação de possíveis descontos, fornecida no seguinte formato:
Formato da saída:
Nome_do_brinquedo: preço_final - Nome_do_brinquedo: preço_final
Exemplos
A tabela abaixo apresenta exemplos com alguns dados de entrada e suas respectivas saídas esperadas. Certifique-se de testar seu programa com esses exemplos e com outros casos possíveis.
Entrada | Saída |
---|---|
Carrinho: 10, 15.00 - Boneca: 3, 25.00 | Carrinho: 13.50 - Boneca: 25.00 |
Bola: 7, 10.00 - Quebra-Cabeca: 4, 20.00 | Bola: 9.00 - Quebra-Cabeca: 20.00 |
Drone: 2, 150.00 - Carro de Controle Remoto: 5, 200.00 | Drone: 150.00 - Carro de Controle Remoto: 180.00 |
Resolução
function verificarPromocoes() {
const taxaDesconto = 0.10
const entrada = gets()
const produtos = entrada.split(' - ')
const resultado = []
produtos.forEach(produto => {
const [nome, quantidadePreco] = produto.split(': ')
const [quantidade, precoUnitario] = quantidadePreco.split(', ').map(Number)
let precoFinal
if (quantidade >= 5) {
precoFinal = precoUnitario * (1 - taxaDesconto)
} else {
precoFinal = precoUnitario
}
resultado.push(`${nome}: ${precoFinal.toFixed(2)}`)
})
print(resultado.join(' - '))
}
verificarPromocoes()
Para encontrar outras soluções, verifique aqui.
Caso encontre algum erro ou tenha sugestões, clique aqui e abra uma issue no Github.