author = 'НВС'

# Задача-1:
# Дан список, заполненный произвольными целыми числами, получите новый список,
# элементами которого будут квадратные корни элементов исходного списка,
# но только если результаты извлечения корня не имеют десятичной части и
# если такой корень вообще можно извлечь
# Пример: Дано: [2, -5, 8, 9, -25, 25, 4]   Результат: [3, 5, 2]

a = [2, -5, 8, 9, -25, 25, 4]
b = []
import math
for i in a:
    if i>0 and math.sqrt(i) == int(math.sqrt(i)):
        c = int(math.sqrt(i))
        b.append(c)
print(b)

# Задача-2: Дана дата в формате dd.mm.yyyy, например: 02.11.2013.
# Ваша задача вывести дату в текстовом виде, например: второе ноября 2013 года.
# Склонением пренебречь (2000 года, 2010 года)

a = "18.12.2010"
a1 = a.split(".")
sday = {"01": "Первое", "02": "Второе", "03": "Третье", "04": "Четвёртое", "05": "Пятое", "06": "Шестое", "07": "Седьмое", "08": "Восьмое", 
"09": "Девятое", "10": "Десятое", "11": "Одинадцатое", "12": "Двенадцатое", "13": "Тринадцатое", "14": "Четырнадцатое", "15": "Пятнадцатое",
"16": "Шестнадцатое", "17": "Семнадцатое", "18": "Восемнадцатое", "19": "Девятнадцатое", "20": "Двадцатое", "21": "Двадцать первое", "22": 
"Двадцать второе", "23": "Двадцать третье", "24": "Двадцать четвёртое", "25": "Двадвать пятое", "26": "Двадцать шестое", "27": "Двадцать седьмое",
"28": "Двадцать восьмое", "29": "Двадцать девятое", "30": "Тридцатое", "31": "Тридцать первое"}
smonth = {"01": "Января", "02": "Февраля", "03": "Марта", "04": "Апреля", "05": "Мая", "06": "Июня", "07": "Июля", "08": "Августа", "09": "Сентября",
"10": "Октября", "11": "Ноября", "12": "Декабря"}
for i in sday:
    if a1[0]==i:
        a1[0]=sday[i]
for i in smonth:
    if a1[1]==i:
        a1[1]=smonth[i]
print(a1[0] + " " + a1[1] + " " + a1[2] + str(" года."))

# Задача-3: Напишите алгоритм, заполняющий список произвольными целыми числами
# в диапазоне от -100 до 100. В списке должно быть n - элементов.
# Подсказка:
# для получения случайного числа используйте функцию randint() модуля random

b = []
a = int(input("Введите чилсо элементов: "))
import random
for i in range(a):
    b.append(random.randint(-100, 100))
print(b)

# Задача-4: Дан список, заполненный произвольными целыми числами.
# Получите новый список, элементами которого будут: 
# а) неповторяющиеся элементы исходного списка:
# например, lst = [1, 2, 4, 5, 6, 2, 5, 2], нужно получить lst2 = [1, 2, 4, 5, 6]
# б) элементы исходного списка, которые не имеют повторений:
# например, lst = [1 , 2, 4, 5, 6, 2, 5, 2], нужно получить lst2 = [1, 4, 6]

#A

spisok = [1, 2, 4, 5, 6, 2, 5, 2]
spisok2 = list(set(spisok))
print(spisok2)

#B

nspisok = []
spisok = [1, 2, 4, 5, 6, 2, 5, 2]
for i in spisok:
        if spisok.count(i) == 1:
            nspisok.append(i)
print(nspisok)
