# Задача-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:
        None 
    elif math.sqrt(i) % 1 == 0:
        b.append(int(math.sqrt(i)))

print(b)


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

dict_day = {'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' : 'тридцать первое'} 

dict_mounth = {'01' : 'января', '02' : 'февраля', '03' : 'марта', '04' : 'апреля',
                '05' : 'мая', '06' : 'июня', '07' : 'июля', '08' : 'августа',
                '09' : 'сентября', '10' : 'октября', '11' : 'ноября', '12' : 'декабря'}

day = int(input('Введите день: '))
mounth = int(input('Введите месяц в числовом формате: '))
year = int(input('Введите год полностью: '))

time = '%02d.%02d.%d' % (day, mounth, year)

print(time)
print(dict_day.get(time[0:2]), dict_mounth.get(time[3:5]), f'{year} года.')


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

for i in range(n):
    import random
    a.append(random.randint(-100, 100))

print(a)


# Задача-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]

st1 = [1, 2, 4, 5, 6, 2, 5, 2]

# a)

st2 = []

for i in st1:
    if not i in st2:
        st2.append(i)
print(st2)

# а) вариант 2

str4 = []
new_list = set(str4)
print(new_list)

# б)
st3 = []

c = 1
for i in st1:
    if st1.count(i) == 1:
        st3.append(i)

print(st3)