+ 1
Помогите найти ошибку
Задание: Вам дан код, который должен рассчитывать соответствующий процент от цены. Кто-то для этого написал лямбда-функцию, однако она не работает. Исправьте код, чтобы вывести данный процент от цены. Код: price = float(input()) perc = float(input()) res = (lambda x, y: y*(x/100))(price, perc) print(res) Данный код прошел все проверки, кроме одной скрытой. Не могу найти причину. Кажется, что все написал правильно Спасибо
5 Réponses
+ 4
Александр Мошков ,
It's a tiny floating-point math error. To avoid it, multiply before you divide. For example.
print(10*(9/100)) # 0.8999999999999999
print(10*9/100) # 0.9
Change your code.
# 👎 😭
res = (lambda x, y: y*(x/100))(price, perc)
# 👍 😎
res = (lambda x, y: y*x/100)(price, perc)
+ 2
Your code seems to work...
Does rounding matter? As in the format for money?
Example:
21.33 is ok
21.333 is not ok
+ 2
Oh, thanks, its work!
+ 2
Ah, nice catch Rain
+ 1
Код, который вы предоставили, вполне правильный и должен работать правильно для расчета процента от цены. Вероятно, ошибка, из-за которой он не проходит одну из скрытых проверок, может быть связана с вводом данных.
Убедитесь, что вы правильно вводите цену и процент. Возможно, внутренний код проверки ожидает определенный формат ввода или значение.
Если ошибка продолжает возникать, пожалуйста, уточните, какая именно ошибка происходит, чтобы я мог предоставить более конкретные советы по ее устранению. https://www.militarystarcard.net/