#1 Дан список чисел L. Написать функцию, которая вернет True если сумма первых 4 элементов списка равны 9.
# При этом функция должна вызываться только если длина списка больше 4.

from random import sample
def func(mylist):
    if    sum(mylist[0:4]) == 9:
        return True
    else:
        return False
print(func(sample(range(10), 2)))

#2 Написать функцию, которая будет возвращать True если в списке,
# который передается функции как аргумент присутствует последовательность чисел 1, 2, 3, 4

def func2(List):
 if (1,2,3,4) in List:
     return True
 else:
     return False
print(func2([1,2,3,4,5,6,7]))

#3 Написать функцию, которая принимает список как аргумент и возвращает True если первый и последний элемент в списке равен 6

def func3(List2):
    if List2[0] == 6 and List2[-1] == 6:
         return True
    else:
        return False
print(func3([1,2,3,4,5,6]))

#4 Написать функцию, которая принимает 2 списка и возвращает True если первые или последние элементы списка равны
def func4(Listt1,Listt2):
    if Listt1[1] == Listt2[1] or Listt1[-1] == Listt2[-1]:
        return True
    else:
        return False
print(func4([1,2,3,4,5,6,7,8],[1,2,3,8]))

#5 Написать функцию, которая принимает 3 списка и возвращает их общую сумму элементов

def func5(Lis1,Lis2,Lis3):
 var1 = (sum(Lis1) + sum(Lis2) + sum(Lis3))
 print(var1)
func5([1,2,3],[3,4,5],[5,6,7])

#6 Перевернуть список: [1,2,3,4] => [4,3,2,1]
List6 = [1,2,3,4]
List61 = list(reversed(List6))
print(List61)

#7 Определить самый большой элемент списка и заменить им все элементы. Длина списка не больше 5
list7 = [3,4,5,6,7]
x = max(list7)
list7[0] = x
list7[1] = x
list7[2] = x
list7[3] = x
print(list7)

#8 Написать функцию, которая вернет сумму первых 2 элементов в списке.
# Если длина списка меньше 2, просто суммируйте существующие элементы, возвращая 0, если массив имеет длину 0.
def func6(List8):
 var2 = sum(List8[0:2])
 return var2
result = func6([4,5,6,7,8])
print(result)

#9 Дано 2 списка int, a и b, длина каждого равна 3.Написать функцию, которая принимает оба списка и возвращает новый список длиной 2,
# содержащий их средние элементы.

def func9(List9, List99):
    return [List9[1], List99[1]]
print(func9([1,2,3], ["a","b","c"]))

#10 Написать функцию, которая принимает список как аргумент и возвращает True если цифры 2 и 3 есть в этом списке
def func10(List10):
    if (2) and (3) in List10:
        return True
    else:
        return False
print(func10([1,2,3,4,5,6]))

#11 Дан список чисел [1,2,3,2,1]. Определите, сколько в нем встречается различных чисел.

List11 = [1,2,3,2,1]
set(List11)
print(len(set(List11)))

#12 Даны два списка чисел: [1, 3, 2], [4, 3, 2] Посчитайте, сколько чисел содержится одновременно как в первом списке, так и во втором.
List12 = [1,3,2]
List121 = [4,3,2]
set(List12)
set(List121)
print(set(List12)& set(List121))

#13 Даны два списка чисел: [1, 2, 6, 4, 5, 7], [10, 2, 3, 4, 8] Найдите все числа, которые входят как в первый,
# так и во второй список и выведите их в порядке возрастания.

List13 = [1, 2, 6, 4, 5, 7]
List131 = [10, 2, 3, 4, 8]
print(sorted(set(List13)& set(List131)))

