Pergunta
Its almost the Summer Sales! You work for a shop that wishes to give a discount of (discounts) to the most expensive item purchased by a given customer during the sales period. Only one product can benefit from the discount. You are tasked by the shop owner to implement the function calculateTotalPrice(Sprices , discount)]which takes the list of prices of the products purchased by a customer and the percentage Sdiscount/as parameters and returns the total purchase price as an integer (rounded down if the total is a float number). Constraints: 0leqslant discountleqslant 100 0lt price of a product lt 100000 0lt numberofproductslt 100
Solução
Verification of experts
4.5215 Voting
OlindaMestre · Tutor por 5 anos
Responder
Para implementar a função `calculateTotalPrice(Sprices, Sdiscount)` em Python, podemos seguir os seguintes passos:<br /><br />1. Verificar se o valor de `Sdiscount` está dentro do intervalo válido (0 a 100).<br />2. Encontrar o preço mais alto na lista `Sprices`.<br />3. Calcular o desconto a ser aplicado no preço mais alto.<br />4. Calcular o total de compra após aplicar o desconto.<br />5. Retornar o total de compra como um inteiro (arredondando para baixo se for um número de ponto flutuante).<br /><br />Aqui está o código Python que implementa essa lógica:<br /><br />```python<br />def calculateTotalPrice(Sprices, Sdiscount):<br /> if not 0 <= Sdiscount <= 100:<br /> raise ValueError("O desconto deve estar entre 0 e 100.")<br /><br /> # Encontrar o preço mais alto<br /> max_price = max(Sprices)<br /><br /> # Calcular o desconto<br /> discount_amount = max_price * (Sdiscount / 100)<br /><br /> # Calcular o total de compra após o desconto<br /> total_price = max_price - discount_amount<br /><br /> # Arredondar para baixo<br /> total_price = int(total_price)<br /><br /> return total_price<br />```<br /><br />### Explicação:<br /><br />1. **Verificação do Desconto**: Verificamos se `Sdiscount` está dentro do intervalo válido (0 a 100). Se não estiver, lançamos uma exceção `ValueError`.<br /><br />2. **Encontrar o Preço Mais Alto**: Usamos a função `max()` para encontrar o preço mais alto na lista `Sprices`.<br /><br />3. **Calcular o Desconto**: Multiplicamos o preço mais alto pelo desconto em porcentagem (dividimos por 100).<br /><br />4. **Calcular o Total de Compra**: Subtraímos o valor do desconto do preço mais alto.<br /><br />5. **Arredondar para Baixo**: Convertemos o total de compra para um inteiro arredondando para baixo.<br /><br />Se precisar de mais alguma coisa, estou à disposição!
Clique para avaliar: