با توجه به یک لیست از اعداد صحیح 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)
پاسخ های کاربران به این تمرین
برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید
برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید
برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید
برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید
نظرات