Напишите программу, которая заполняет массив из 20 элементов случайными числами на отрезке [100; 200] и находит в нём пару соседних элементов, сумма которых минимальна. На Python очень надо срочно!!!
print('Случайный массив (список):', A)
print('\nРезультат:', min([A[i] + A[i+1] for i in range(19)]))
A = list(filter(lambda x: x <= 200, [randint(100, 200) + float(f'0.{randint(0, 10**randint(0, 13))}') for _ in range(20)]))
print('Случайный массив (список):', A)
print('\nРезультат:', min([A[i] + A[i+1] for i in range(19)]))
Ответы
from random import randint, random
# A = [randint(100, 200) for _ in range(20)] # Этот вариант удобен для самопроверки, рандомируются только целые числа
'''
Если хотите рандомные вещественные, то можно сделать так:A =[randint(100, 199) + random() for _ in range(20)], но здесь имеется возможный
подводный камень, что получить в random() 0 или 1 практически нереально, поэтому целые числа в список будут попадать крайне редко
(А по сути это будет невозможно). Поэтому тут есть такое хитрое решение (придумал его не сразу): (генерировать числа будет до не более чем 13-го знака.
'''
A = list(map(lambda x: 200*(x>200) + x*(x<=200), [randint(100, 200) + float(f'0.{randint(0, 10**randint(0, 13))}') for _ in range(20)]))
print('Случайный массив (список):', A)
print('\nРезультат:', min([A[i] + A[i+1] for i in range(19)]))
