بکندباز

با توجه به یک لیست از اعداد صحیح lst، تابعی ایجاد کنید که اندیس عددی که به مقدار داده‌شده n نزدیک‌تر است را برگرداند. اگر دو عدد با فاصله مساوی از n وجود داشته باشند، تابع بزرگ‌ترین آن‌ها را برمی‌گرداند.

مثال

nearest_element(10, [1, 100, 1000]) ➞ 0
# 1 نزدیک‌ترین عدد به 10 است.

نمونه ورودی و خروجی

nearest_element(10, [1, 100, 1000]) ➞ 0

nearest_element(50, [100, 49, 51]) ➞ 2

nearest_element(-20, [-50, -10, -30]) ➞ 1

نکات

  • اعداد در لیست lst همیشه منحصر به فرد هستند.
  • اگر دو عدد با فاصله مساوی از n وجود داشته باشند، تابع باید اندیس عدد بزرگ‌تر را برگرداند.
  • تابع باید اندیس عدد نزدیک‌تر (یا بزرگ‌تر در صورت تساوی فاصله) را برگرداند.
self.assertEqual(nearest_element(10, [1, 100, 1000]), 0)
self.assertEqual(nearest_element(50, [100, 49, 51]), 2)
self.assertEqual(nearest_element(-20, [-50, -10, -30]), 1)
self.assertEqual(nearest_element(100, [80, 60, 40]), 0)
self.assertEqual(nearest_element(48, [47, 49, 73, 51, 44, 41]), 1)
self.assertEqual(nearest_element(1, [0, -2, 3, 2, -1]), 3)

پاسخ های کاربران به این تمرین

user-hYj8
امتیاز:‌ 25
تصحیح اتوماتیک 0 0
‎پایتون‎
18 اسفند 1403

برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید

user-ixnb
امتیاز:‌ 3758
تصحیح اتوماتیک 0 0
‎پایتون‎
18 اسفند 1403

برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید

MarsBoy
امتیاز:‌ 7591
تصحیح اتوماتیک 0 0
‎پایتون‎
18 اسفند 1403

برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید

mantix
امتیاز:‌ 18472
تصحیح اتوماتیک 0 0
‎پایتون‎
18 اسفند 1403

برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید

نظرات

*
*

تمرینات مرتبط