forked from pablorus/Python_lessons_basic
-
Notifications
You must be signed in to change notification settings - Fork 457
/
Copy pathhw02_normal.py
125 lines (114 loc) · 5.01 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
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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
__author__ = 'Насонов Алексей Сергеевич'
# Задача-1:
# Дан список, заполненный произвольными целыми числами, получите новый список,
# элементами которого будут квадратные корни элементов исходного списка,
# но только если результаты извлечения корня не имеют десятичной части и
# если такой корень вообще можно извлечь
# Пример: Дано: [2, -5, 8, 9, -25, 25, 4] Результат: [3, 5, 2]
print("Задача-1:")
NumList1 = [1, 2, 3, 4, 5, -10, 25]
NumList2 = []
import math
for Num in NumList1:
if Num >= 0:
Res = math.sqrt(Num)
if (float(Res) % 1) == 0:
NumList2.append(int(Res))
print(NumList2)
# Задача-2: Дана дата в формате dd.mm.yyyy, например: 02.11.2013.
# Ваша задача вывести дату в текстовом виде, например: второе ноября 2013 года.
# Склонением пренебречь (2000 года, 2010 года)
print("Задача-2:")
days = ["первое",
"второе",
"третье",
"четвертое",
"пятое",
"шестое",
"седьмое",
"восьмое",
"девятое",
"десятое",
"одиннадцатое",
"двенадцатое",
"тринадцатое",
"четырнадцатое",
"пятнадцатое",
"шестнадцатое",
"семьнадцатое",
"восемнадцатое",
"девятнадцатое",
"двадцатое",
"двадцать первое",
"двадцать второе",
"двадцать третье",
"двадцать четвертое",
"двадцать пятое",
"двадцать шестое",
"двадцать седьмое",
"двадцать восьмое",
"двадцать девятое",
"тридцатое",
"тридцать первое"]
month = ["января",
"февраля",
"марта",
"апреля",
"мая",
"июня",
"июля",
"августа",
"сентября",
"октября",
"ноября",
"декабря"]
date = "26.02.1975"
D = int((date.split("."))[0])
M = int((date.split("."))[1])
Y = (date.split("."))[2]
print(date)
print("Дата: {0} {1} {2} года".format(days[D-1],month[M-1],Y))
# Задача-3: Напишите алгоритм, заполняющий список произвольными целыми числами
# в диапазоне от -100 до 100. В списке должно быть n - элементов.
# Подсказка:
# для получения случайного числа используйте функцию randint() модуля random
print("Задача-3")
import random
NumList = []
# Задаем количество элементов списка случайных значений
n = 10
for item in range(n):
NumList.append(random.randint(-100, 100))
print(NumList)
# Задача-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]
print("Задача-4")
NumList1 = [1, 2, 4, 5, 6, 2, 5, 2]
NumList_a = []
NumList_b = []
NumList_temp = NumList1.copy()
# Выполняем проверку первого элемента и удаляем его,
# если элемент встречается в исходном списке несколько раз,
# то заносим его только в новый список NumList_a
# если элемент встречается в исходном списке только один раз,
# то добавляем его в списки NumList_a, NumList_b
while NumList_temp:
Num = NumList_temp[0]
NumList_temp.remove(Num)
if Num in NumList_temp:
NumList_a.append(Num)
while Num in NumList_temp:
NumList_temp.remove(Num)
else:
NumList_a.append(Num)
NumList_b.append(Num)
print("Исходный список:")
print(NumList1)
print("Список с уникальными элементами:")
print(NumList_a)
print("Список без повторяющихся элементов:")
print(NumList_b)