Допоможіть з дз, будь ласка.(в пайтоні)
Отримати список, використовуючи генератор випадкових чисел
1. Замінити в списку всі парні елементи на їх індекси.
2. Утворити новий список, в який переписати тільки від'ємні елементи.
3. Вивести ті елементи, які більші за свого сусіда справа і зліва (тобто такі a[i-1] a[i+1]
Ответы на вопрос
Программа:
Python:
from random import randint
catalog = [randint(-100, 100) for _ in range(20)]
long = len(catalog)
catal = []
print('Рандомный массив:', catalog)
for i in range(long):
if catalog[i] % 2 == 0: catalog[i] = i
if catalog[i] < 0: catal.append(catalog[i])
print('Изменённый массив (№1):', catalog)
print('Новый массив (№2):', catal)
print('Элементы, большие своих соседей:', end=' ')
for i in range(long):
if i == 0:
if catalog[0] > catalog[1] and catalog[0] > catalog[long - 1]:
print(catalog[0], end = ' ')
elif i == long - 1:
if catalog[long - 1] > catalog[0] and catalog[long - 1] > catalog[long - 2]:
print(catalog[long - 1], end = ' ')
elif i > 0 and i < long - 1:
if catalog[i] > catalog[i - 1] and catalog[i] > catalog[i + 1]:
print(catalog[i], end = ' ')
Объяснение:
В начале импортируется метод randint из библиотеки random. Далее массив (список) catalog заполняется 20-ю случайными числами от -100 до 100, переменной long присваивается длина массива catalog (чтобы более оптимизировать код), регистрируется массив catal. Выводится массив catalog.
С помощью цикла for проходимся по всем элементам из массива catalog. Если элемент с индексом i делится на 2 без остатка (значит он парный), то элементу с индексом i присваивается само значение i (индекс). Если это число отрицательно, то это число добавляется к ещё одному массиву catalog. Далее - вывод сфомированного списка по 1-му заданию, вывод сфомированного списка по 2-му заданию и начальный вывод для 3-го задания, числа которого будут выведены в следующем цикле. Сам цикл подразумевает собой три проверка. Если сейчас мы находимся на первом элементе, то идёт уникальная проверка по последнему и второму; если сейчас мы находимся на последнем элементе, то идёт уникальная проверка по первому и предпоследнему элементам. В конце - ещё одна проверка, что это не последний и не первый элемент, и проверка уже для всех элементов (привязываем проверку к индексам, чтобы всё считалось автоматически). И соответственно вывод этих элементов, по заданию №3.