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

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

03.07.2020, 17:10. Показов 63277. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 11.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 10.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 09.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 09.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 08.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 08.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru