-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathhw02_normal.py
More file actions
107 lines (90 loc) · 4.25 KB
/
hw02_normal.py
File metadata and controls
107 lines (90 loc) · 4.25 KB
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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
# Задача-1:
# Дан список, заполненный произвольными целыми числами, получите новый список,
# элементами которого будут квадратные корни элементов исходного списка,
# но только если результаты извлечения корня не имеют десятичной части и
# если такой корень вообще можно извлечь
# Пример: Дано: [2, -5, 8, 9, -25, 25, 4] Результат: [3, 5, 2]
lst = [2, -5, 8, 9, -25, 25, 4]
lst_2 = [int(num ** 0.5) for num in lst if num > 0 and num ** 0.5 == int(num ** 0.5)]
print(lst_2)
# Задача-2: Дана дата в формате dd.mm.yyyy, например: 02.11.2013.
# Ваша задача вывести дату в текстовом виде, например: второе ноября 2013 года.
# Склонением пренебречь (2000 года, 2010 года)
days = {
'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': 'тридцать первое',
}
months = {
'01': 'января',
'02': 'февраля',
'03': 'марта',
'04': 'апреля',
'05': 'мая',
'06': 'июня',
'07': 'июля',
'08': 'августа',
'09': 'сентября',
'10': 'октября',
'11': 'ноября',
'12': 'декабря',
}
date = '02.11.2013'
# date = input('Введите дату в формате dd.mm.yyyy: ')
day, month, year = date.split(".")
try:
print(f'{days[day]} {months[month]} {year} года')
except KeyError:
print('Неверный формат даты. Необходимо ввести дату в формате dd.mm.yyyy')
# try:
# print(f'{days[date.split(".")[0]]} {months[date.split(".")[1]]} {date.split(".")[2]} года')
# except KeyError:
# print('Неверный формат даты. Необходимо ввести дату в формате dd.mm.yyyy')
#
# Задача-3: Напишите алгоритм, заполняющий список произвольными целыми числами
# в диапазоне от -100 до 100. В списке должно быть n - элементов.
# Подсказка:
# для получения случайного числа используйте функцию randint() модуля random
from random import randint
random_list = [randint(-100, 100) for _ in range(randint(0, 20))]
print(random_list)
# Задача-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]
lst = [1, 2, 4, 5, 6, 2, 5, 2]
lst2 = [*{*lst}]
# lst2 = set(lst)
lst3 = [num for num in lst if lst.count(num) == 1]
print(lst2)
print(lst3)