+ 1

Помогите найти ошибку

Задание: Вам дан код, который должен рассчитывать соответствующий процент от цены. Кто-то для этого написал лямбда-функцию, однако она не работает. Исправьте код, чтобы вывести данный процент от цены. Код: price = float(input()) perc = float(input()) res = (lambda x, y: y*(x/100))(price, perc) print(res) Данный код прошел все проверки, кроме одной скрытой. Не могу найти причину. Кажется, что все написал правильно Спасибо

23rd Sep 2023, 8:32 PM
Александр Мошков
Александр Мошков - avatar
5 odpowiedzi
+ 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)
24th Sep 2023, 3:03 AM
Rain
Rain - avatar
+ 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
23rd Sep 2023, 9:38 PM
Aaron Lee
Aaron Lee - avatar
+ 2
Oh, thanks, its work!
24th Sep 2023, 4:26 AM
Александр Мошков
Александр Мошков - avatar
+ 2
Ah, nice catch Rain
24th Sep 2023, 5:12 AM
Aaron Lee
Aaron Lee - avatar
+ 1
Код, который вы предоставили, вполне правильный и должен работать правильно для расчета процента от цены. Вероятно, ошибка, из-за которой он не проходит одну из скрытых проверок, может быть связана с вводом данных. Убедитесь, что вы правильно вводите цену и процент. Возможно, внутренний код проверки ожидает определенный формат ввода или значение. Если ошибка продолжает возникать, пожалуйста, уточните, какая именно ошибка происходит, чтобы я мог предоставить более конкретные советы по ее устранению. https://www.militarystarcard.net/
25th Sep 2023, 4:20 AM
Mithat