Conversation
|
|
||
| print(f'Вариант 2. В диапазоне от {N_START} до {N_FINISH}:') | ||
| for i in range(START_RANGE, FINISH_RANGE + 1): | ||
| answer_1[i] = N_FINISH // i |
| # Генерация массива, заполненного случайными числами. | ||
| array_1 = [rnd.randint(N_MIN, N_MAX) for i in range(SIZE)] | ||
| # поиск четных элементов в первом массиве и сохранение их индексов во второй массив | ||
| array_2 = [id for id, itm in enumerate(array_1) if not itm % 2] |
There was a problem hiding this comment.
not itm % 2 - неявное преобразование целого к логическому.
Перечитайте Дзен Python
| N_MIN = 0 | ||
| N_MAX = 200 | ||
|
|
||
| array_1 = [rnd.randint(N_MIN, N_MAX) for i in range(SIZE)] |
| elem, expectation = 0, 0 # будет хранить элемент и количесвто таких элементов в массиве | ||
|
|
||
| print(array_1) | ||
| for i in range(len(array_1)): |
There was a problem hiding this comment.
Хороший вариант с квадратичной сложностью.
| N_MAX = 10000 | ||
|
|
||
| array_1 = [rnd.randint(N_MIN, N_MAX) for i in range(SIZE)] | ||
| max_negative, negative_ind = N_MIN, 0 |
There was a problem hiding this comment.
В реальной практике вы можете не знать самый маленький элемент. Ваш алгоритм не универсальный.
| max_negative, negative_ind = N_MIN, 0 | ||
|
|
||
| for id, itm in enumerate(array_1): | ||
| if not itm + abs(itm): |
| min_id = id | ||
|
|
||
| print(array_1, (elem_min, min_id), (elem_max, max_id)) | ||
| print(fct.reduce(lambda x, y: x + y, array_1[min_id + 1:max_id]) if min_id < max_id \ |
There was a problem hiding this comment.
reduce для суммирования? Забавно.
Именно поэтому Гвидо и убрал функцию в functools. Не нравятся ему программисты, которые суммируют через reduce )))
| array_1 = [rnd.randint(N_MIN, N_MAX) for i in range(SIZE)] | ||
|
|
||
| min_elem = [array_1[0], array_1[1]] | ||
| for i in array_1[2:]: |
There was a problem hiding this comment.
Т.е. урок вы пропустили? Или считаете нормально для входного массива в 10Гб сделать срез в 10Гб без 8Байт?
| column = 5 | ||
|
|
||
|
|
||
| matrix_test = [[0 for i in range(raws)] for j in range(column)] |
|
|
||
| # генерация матрицы 5х4, заполненной случайными числами | ||
| matrix = [[rnd.randint(N_MIN, N_MAX) for _ in range(COLUMN)] for _ in range(RAWS)] | ||
| min_elements = [N_MAX] * len(matrix[0]) |
There was a problem hiding this comment.
В целом хорошо, но на разбор обязательно приходите
No description provided.