Помогите сделать задачи на пайтон с помощью генераторов
6. Пользователь создает список из случайных чисел. Заполнить второй список нечетными элементами первого.
7. Пользователь создает список из случайных чисел. Заполнить второй список четными элементами первого.
8. Пользователь создает список из случайных чисел. Заполнить второй список отрицательными элементами первого.
9. Пользователь создает список из случайных чисел. Заполнить второй список положительными элементами первого.
10. Пользователь вводит список элементов, определить количество одинаковых соседних элементов списка.
11. Пользователь вводит список заполненный случайными числами, определить сколько раз в списке встречаются одинаковые элементы и под какими индексами они находятся
Answers & Comments
Ответ:
6.
import random
lst1 = [random.randint(1, 100) for i in range(10)]
lst2 = [i for i in lst1 if i % 2 == 1]
print(lst2)
7.
import random
lst1 = [random.randint(1, 100) for i in range(10)]
lst2 = [i for i in lst1 if i % 2 == 0]
print(lst2)
8.
import random
lst1 = [random.randint(-100, 100) for i in range(10)]
lst2 = [i for i in lst1 if i < 0]
print(lst2)
9.
import random
lst1 = [random.randint(-100, 100) for i in range(10)]
lst2 = [i for i in lst1 if i < 0]
print(lst2)
10.
lst = input("Введите список элементов: ").split()
count = sum(1 for i in range(1, len(lst)) if lst[i] == lst[i-1])
print(count)
11.
import random
lst = [random.randint(1, 10) for i in range(10)]
count_dict = {}
for i, el in enumerate(lst):
if el in count_dict:
count_dict[el].append(i)
else:
count_dict[el] = [i]
for k, v in count_dict.items():
if len(v) > 1:
print(f"Число {k} встречается {len(v)} раз(а) на позициях {v}")
Объяснение:
Ответ:
6. import random
# создаем первый список из случайных чисел
list1 = [random.randint(1, 100) for i in range(10)]
# заполняем второй список нечетными элементами первого
list2 = [x for x in list1 if x % 2 != 0]
7. import random
# создаем первый список из случайных чисел
list1 = [random.randint(1, 100) for i in range(10)]
# заполняем второй список четными элементами первого
list2 = [x for x in list1 if x % 2 == 0]
8.import random
# создаем первый список из случайных чисел
list1 = [random.randint(-100, 100) for i in range(10)]
# заполняем второй список отрицательными элементами первого
list2 = [x for x in list1 if x < 0]
9.import random
# создаем первый список из случайных чисел
list1 = [random.randint(-100, 100) for i in range(10)]
# заполняем второй список положительными элементами первого
list2 = [x for x in list1 if x > 0]
10.# пользователь вводит список элементов
lst = input("Введите список элементов, разделенных пробелами: ").split()
# преобразуем элементы в числа
lst = [int(x) for x in lst]
# определяем количество одинаковых соседних элементов
count = sum(1 for i in range(1, len(lst)) if lst[i] == lst[i-1])
print("Количество одинаковых соседних элементов:", count)
11.# пользователь вводит список элементов
lst = input("Введите список элементов, разделенных пробелами: ").split()
# преобразуем элементы в числа
lst = [int(x) for x in lst]
# создаем словарь для хранения количества и индексов одинаковых элементов
d = {}
for i, x in enumerate(lst):
if x in d:
d[x].append(i)
else:
d[x] = [i]
# выводим количество и индексы одинаковых элементов
for
Объяснение: