From a1065499920a0ca65abdd3eae6562ab6ec2a7395 Mon Sep 17 00:00:00 2001 From: duxvita <32290333+duxvita@users.noreply.github.com> Date: Wed, 27 Sep 2017 19:17:28 +0400 Subject: [PATCH] Update hw02_normal.py --- lesson02/home_work/hw02_normal.py | 72 +++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) diff --git a/lesson02/home_work/hw02_normal.py b/lesson02/home_work/hw02_normal.py index 3acfaabb6..e12abedfb 100644 --- a/lesson02/home_work/hw02_normal.py +++ b/lesson02/home_work/hw02_normal.py @@ -1,15 +1,58 @@ +Щербинин Марсель Дмитриевич + # Задача-1: # Дан список, заполненный произвольными целыми числами, получите новый список, # элементами которого будут квадратные корни элементов исходного списка, # но только если результаты извлечения корня не имеют десятичной части и # если такой корень вообще можно извлечь # Пример: Дано: [2, -5, 8, 9, -25, 25, 4] Результат: [3, 5, 2] +import math +import random + +a = [2, -5, 8, 9, -25, 25, 4, 100, 36, 2312, -293] +b = [ ] + +for item in a: + if item > 0: + if (math.sqrt(item)) % 1 == 0: + item = math.sqrt(item) + item = int(item) + b.append(item) + pass + pass + +print(b) # Задача-2: Дана дата в формате dd.mm.yyyy, например: 02.11.2013. # Ваша задача вывести дату в текстовом виде, например: второе ноября 2013 года. # Склонением пренебречь (2000 года, 2010 года) +daySLOVAR = { +1:'первое', 2:'второе', 3:'третье', 4:'четвертое', 5:'пятое', +6:'шестое', 7:'седьмое', 8:'восьмое', 9:'девятое', 10:'десятое', +11:'одинадцатое', 12:'двенадцатое', 13:'тринадцатое', 14:'четырнадцатое', +15:'пятнадцатое', 16:'шестнадцатое', 17:'семнадцатое', 18:'восемнадцатое', +19:'девятнадцатое', 20:'двадцатое', 21:'двадцать первое', 22:'двадцать второе', +23:'двадцать третье', 24:'двадцать четвертое', 25:'двадцать пятое', +26:'двадцать шестое', 27:'двадцать седьмое', 28:'двадцать восьмое', +29:'двадцать девятое', 30:'тридцатое', 31:'тридцать первое' + } +monthSLOVAR = { +1:'января', 2:'февраля', 3:'марта', 4:'апреля', +5:'мая', 6:'июня', 7:'июля', 8:'августа', +9:'сентября', 10:'октября', 11:'ноября', 12:'декабря' + } + +date = '10.09.1239' + +datelist = date.split('.') + +day = daySLOVAR[int(datelist[0])] +month = monthSLOVAR[int(datelist[1])] +year = int(datelist[2]) +print ( day, month, year ) + # Задача-3: Напишите алгоритм, заполняющий список произвольными целыми числами # в диапазоне от -100 до 100. В списке должно быть n - элементов. @@ -17,9 +60,38 @@ # для получения случайного числа используйте функцию randint() модуля random +n = 5 +spisok1 = [] + + +while len(spisok1) < n: + i = random.randint(-100, 100) + + spisok1.append(i) + + +print(spisok1) # Задача-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 +lst = [1, 2, 4, 5, 6, 2, 5, 2] +lst2 = set(lst) +print(lst2) + +#б +lst = [1, 2, 4, 5, 6, 2, 5, 2] +lst2 = [ ] +for item in lst: + if lst2.count(item) < 1: + lst2.append(item) + else: + lst2.remove(item) + + + +print(lst2)