Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.79/329: Рейтинг темы: голосов - 329, средняя оценка - 4.79
1 / 1 / 0
Регистрация: 29.06.2020
Сообщений: 19

Найти в массиве элемент, самый близкий по величине к данному числу

03.07.2020, 17:10. Показов 63293. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Напишите программу, которая находит в массиве элемент, самый близкий по величине к данному числу.

Входные данные

В первой строке содержатся список чисел — элементы массива (целые числа, не превосходящие 1000

по абсолютному значению).

Во второй строке вводится одно целое число x
, не превосходящее 1000

по абсолютному значению.

Выходные данные

Вывести значение элемента массива, ближайшего к x
. Если таких чисел несколько, выведите любое из них.
Python
1
2
3
4
5
6
7
8
9
10
11
a, n, find_num = [int(i) for i in input().split()], int(input()), 100
for i in range(len(a)):
    if a[i] < n:
        find_num = -find_num
    else:
        find_num = find_num + 0
    if a[i] >= n and a[i] - n <= find_num - n:
        find_num = a[i]
    elif a[i] <= n and find_num - n <= a[i] - n:
        find_num = a[i]
print(find_num)
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.07.2020, 17:10
Ответы с готовыми решениями:

Найти в массиве элемент, самый близкий по величине к заданному числу
Напишите программу, которая находит в массиве элемент, самый близкий по величине к данному числу. Формат ввода В первой строке...

Напишите программу, которая находит в массиве элемент, самый близкий по величине к данному числу
Напишите программу, которая находит в массиве элемент, самый близкий по величине к данному числу

Найти в массиве элемент, самый близкий по величине к заданному числу
Напишите программу, которая находит в массиве элемент, самый близкий по величине к данному числу. С++ Входные данные В первой...

6
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
03.07.2020, 17:41
poiuytjhjhjjjjj, Опишите словами алгоритм, который Вы используете. Мне он не понятен. Например по моему совершенно бессмысленная строка кода
Цитата Сообщение от poiuytjhjhjjjjj Посмотреть сообщение
find_num = find_num + 0
0
260 / 165 / 54
Регистрация: 03.05.2019
Сообщений: 339
03.07.2020, 22:09
Если я правильно понял:
Python
1
2
3
4
5
6
7
def nearest_value(items, value):
    '''Поиск ближайшего значения до value в списке items'''
    found = items[0] # найденное значение (первоначально первое)
    for item in items:
        if abs(item - value) < abs(found - value):
            found = item
    return found
1
0 / 0 / 0
Регистрация: 16.05.2022
Сообщений: 6
21.08.2022, 14:25
Я начинающий так что если тебе не трудно можешь объяснить этот код?

Добавлено через 2 минуты
Можешь объяснить свой код? Я начинающий просто.
0
 Аватар для Михалыч
1011 / 355 / 59
Регистрация: 28.02.2013
Сообщений: 939
21.08.2022, 15:32
Цитата Сообщение от kamnii Посмотреть сообщение
можешь объяснить этот код
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
items = [1,2,3,4,5] # список чисел
value = 4.2         # число к которому найти ближайшее
 
def nearest_value(items, value):
    '''Поиск ближайшего значения до value в списке items'''
    found = items[0]        # принимаем допущение что ближайшее число к искомому первое в списке (с индексом 0)
    for item in items:      # для каждого элемента (item) из items (т.е. попеременно item=1, item=2..)
        # проверяем условие если разница между item value по модулю меньше разницы found и value, то
        if abs(item - value) < abs(found - value): # если условие истинно (True)
            found = item # меняем значение нашего допущения на item (т.е. item оказался ближе к искомому значению)
    return found # возвращаем ближайшее значение до value в списке items
 
print(f'Ближайшее число к {value} в списке {items} является {nearest_value(items, value)}')
Добавлено через 41 минуту
Как вариант для собственной тренировки:

Python
1
2
3
4
5
6
7
8
items = [1,2,3,4,5] # список чисел
value = 4.2         # число к которому найти ближайшее
 
def nearest_value(items, value):
    abs_list = list(map(lambda item: abs(item - value), items)) # создаем список значений разницы item - value по модулю 
    return items[abs_list.index(min(abs_list))]                 # находим индекс минимальной разницы и по этому индексу возвращаем элемент из items
 
print(nearest_value(items, value))
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
21.08.2022, 16:36
Лучший ответ Сообщение было отмечено Михалыч как решение

Решение

Михалыч, чет как-то замудрёно
Python
1
2
def nearest_value2(items, value):
    return min(items, key=lambda x: abs(value - abs(x)))
2
 Аватар для Михалыч
1011 / 355 / 59
Регистрация: 28.02.2013
Сообщений: 939
21.08.2022, 16:41
Цитата Сообщение от iSmokeJC Посмотреть сообщение
Михалыч, чет как-то замудрёно
Вот и потренировался Спасибо!)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.08.2022, 16:41
Помогаю со студенческими работами здесь

Найти в массиве элемент самый близкий к заданному числу
Изучаю новые возможности PascalABC.NET и переделал задание по нахождению ближайшего из списка...

Найти элемент массива, наиболее близкий к данному числу
Дано вещественное число R и массив размера N. Найти элемент массива, наиболее близкий к данному числу. 1)Дано дійсне число R і масив...

Определить элемент, самый близкий к заданному числу С среди принадлежащих [a/2;b/2] элементов первой трети
Помогите составить процедуру для нахождения элемента, а если их несколько, то элементов наиболее близких по значению к заданому числу. Я...

Поиск в массиве элемента, самого близкого по величине к данному числу
Напишите программу, которая находит в массиве элемент, самый близкий по величине к данному числу. Входные данные В первой строке...

Определить элемент, самый близкий к заданному числу С среди отрицательных элементов первой четверти массива
«Определить элемент, самый близкий к заданному числу С среди отрицательных элементов первой четверти массива» Наработка кода уже есть, а...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru