Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
72 changes: 72 additions & 0 deletions lesson02/home_work/hw02_normal.py
Original file line number Diff line number Diff line change
@@ -1,25 +1,97 @@
Щербинин Марсель Дмитриевич

# Задача-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 - элементов.
# Подсказка:
# для получения случайного числа используйте функцию 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)