forked from pablorus/Python_lessons_basic
-
Notifications
You must be signed in to change notification settings - Fork 457
/
Copy pathhw02_normal.py
79 lines (60 loc) · 3.88 KB
/
hw02_normal.py
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
__author__ = 'Субботин Андрей Владимирович'
# Задача-1:
# Дан список, заполненный произвольными целыми числами, получите новый список,
# элементами которого будут квадратные корни элементов исходного списка,
# но только если результаты извлечения корня не имеют десятичной части и
# если такой корень вообще можно извлечь
# Пример: Дано: [2, -5, 8, 9, -25, 25, 4] Результат: [3, 5, 2]
import math, random
list_a = [2, -5, 8, 9, -25, 25, 4]
list_b = []
for num in list_a:
if num >= 0 and not (math.sqrt(num) % 1):
list_b.append(int(math.sqrt(num)))
print(list_b)
# Задача-2: Дана дата в формате dd.mm.yyyy, например: 02.11.2013.
# Ваша задача вывести дату в текстовом виде, например: второе ноября 2013 года.
# Склонением пренебречь (2000 года, 2010 года)
month = {'01': 'января', '02': 'февраля', '03': 'марта',
'04': 'апреля', '05': 'мая', '06': 'июня',
'07': 'июля', '08': 'августа', '09': 'сентября',
'10': 'октября', '11': 'ноября', '12': 'декабря',
}
days = {'01': 'первое', '02': 'второе', '03': 'третье',
'04': 'четвертое', '05': 'пятое', '06': 'шестое',
'07': 'седьмое', '08': 'восьмое', '09': 'девятое',
'10': 'десятое', '11': 'одиннадцатое', '12': 'двенадцатое',
'13': 'тринадцатое', '14': 'четырнадцатое', '15': 'пятнадцатое',
'16': 'шестнадцатое', '17': 'семнадцатое', '18': 'восемнадцатое',
'19': 'девятнадцатое', '20': 'двадцатое', '21': 'двадцать первое',
'21': 'двадцать второе', '21': 'двадцать третье', '21': 'двадцать четвертое',
'21': 'двадцать пятое', '21': 'двадцать шестое', '21': 'двадцать седьмое',
'21': 'двадцать восьмое', '21': 'двадцать девятое', '30': 'тридцатое',
'31': 'тридцать первое',
}
date = '02.11.2013'
date_lst = date.split('.')
print(days[date_lst[0]], month[date_lst[1]], date_lst[2], 'года')
# Задача-3: Напишите алгоритм, заполняющий список произвольными целыми числами
# в диапазоне от -100 до 100. В списке должно быть n - элементов.
# Подсказка:
# для получения случайного числа используйте функцию randint() модуля random
num_count = 100
list_c = []
for num in range(num_count):
list_c.append(random.randint(-100, 100))
print(list_c)
# Задача-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]
list_d = {}
list_e = []
for num in list_c:
list_d = set(list_c)
if list_c.count(num) == 1:
list_e.append(num)
print(list_d)
print(list_e)