Python - arrendamento [RESOLVIDO]

1. Python - arrendamento [RESOLVIDO]

Akira War
Akira_war

(usa Outra)

Enviado em 28/08/2020 - 17:04h

Boa tarde

Gostaria de uma ajuda! O exercício a seguir consegui resolvê-lo, no entanto, para um caso específico o corretor (que eu utilizo para verificar se o meu script está certo) diz que para:
entrada 55.75 o resultado é 52.40
Porém o meu resultado obtido é 52.41

Neste caso o próprio Python está arredondando ? Já que na calculadora fica: 52.405. o python arredonda por causa do 5, o que devo fazer para ele não arredondar??

Exercício:

Desconto

Em épocas de pouco dinheiro, os comerciantes estão procurando aumentar suas vendas oferecendo desconto. Faça um programa que possa entrar com o valor de um produto e imprima o novo valor tendo em vista que o desconto foi de 6%.


Entrada:

Um valor real que representa o valor do produto.

Saída:

O valor final do produto depois de aplicado o desconto. O valor deve ser formatado para duas casas decimais.

Meu script:



Valor = float(input())

M = (0.06 * valor)

Final = (valor - M)

print("%.2f"%Final)




  


2. Re: Python - arrendamento [RESOLVIDO]

Matheus
pylm

(usa Gentoo)

Enviado em 28/08/2020 - 17:13h


Podes configurar o numero de casas decimais no print.


# Pra 3 casas
print("%.3f"%Final)



3. Re: Python - arrendamento [RESOLVIDO]

Akira War
Akira_war

(usa Outra)

Enviado em 28/08/2020 - 18:31h

Obrigada por responder 🙂

Mas a saída exige que seja apenas dois números decimais.


4. Re: Python - arrendamento

Lisandro Guerra
Lisandro

(usa Linux Mint)

Enviado em 30/08/2020 - 23:06h

Akira_war escreveu:

Boa tarde

Gostaria de uma ajuda! O exercício a seguir consegui resolvê-lo, no entanto, para um caso específico o corretor (que eu utilizo para verificar se o meu script está certo) diz que para:
entrada 55.75 o resultado é 52.40
Porém o meu resultado obtido é 52.41

Neste caso o próprio Python está arredondando ? Já que na calculadora fica: 52.405. o python arredonda por causa do 5, o que devo fazer para ele não arredondar??

Exercício:

Desconto

Em épocas de pouco dinheiro, os comerciantes estão procurando aumentar suas vendas oferecendo desconto. Faça um programa que possa entrar com o valor de um produto e imprima o novo valor tendo em vista que o desconto foi de 6%.


Entrada:

Um valor real que representa o valor do produto.

Saída:

O valor final do produto depois de aplicado o desconto. O valor deve ser formatado para duas casas decimais.

Meu script:



Valor = float(input())

M = (0.06 * valor)

Final = (valor - M)

print("%.2f"%Final)



Olá Akira.
Sim é arredondamento. Existem algumas maneiras de contornar isso, deixo aqui uma sugestão e um conselho:

1) O conselho é procurar usar a recomendação de em código Python usar os nomes das variáveis em minúsculas e em snake_case. No seu código acima em um momento você usa "Valor" e em seguida "valor" um capitalizado e outro não, então quando copio seu código ele não roda, pois são duas variáveis diferentes. Procure seguir os padrões para evitar estes erros.
2) Uma sugestão é fazer o truncamento do número para evitar o arredondamento. Como são 2 casas decimais usar o número 100 multiplicando, retirar a parte decimal e depois dividir por 100 para voltar ao formato desejado:



valor = float(input("Entrada: "))

m = (0.06 * valor)

# seguindo a ordem dos parênteses:
# primeiro calcula o valor, depois multiplica por 100, ai com o int retira a parte decimal
# e por último divide por 100 para voltar o decimal.
final = (int((valor - m) * 100)) / 100

print("%.2f" %final)



5. Re: Python - arrendamento

Akira War
Akira_war

(usa Outra)

Enviado em 01/09/2020 - 12:51h

Muito obrigada pela ajuda!!


6. Re: Python - arrendamento [RESOLVIDO]

Lisandro Guerra
Lisandro

(usa Linux Mint)

Enviado em 01/09/2020 - 13:28h

Akira_war escreveu:

Muito obrigada pela ajuda!!


A sua disposição.
marque como melhor resposta a que julgou ter sido a mais efetiva para te ajudar e assim as pessoas que estiverem procurando pelo mesmo tópico poderão achar a solução mais rápido.

Abraço






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts