|
@@ -68,6 +68,8 @@ def find_even_index(arr):
|
|
# print(find_even_index([1,2,3,4,5,6]))
|
|
# print(find_even_index([1,2,3,4,5,6]))
|
|
|
|
|
|
# ------------------------------------------------------------------------------- #
|
|
# ------------------------------------------------------------------------------- #
|
|
|
|
+# Задачка на работу с boxplot
|
|
|
|
+# Пока не завершил.
|
|
|
|
|
|
class StatisticalSummary(object):
|
|
class StatisticalSummary(object):
|
|
|
|
|
|
@@ -134,24 +136,82 @@ class StatisticalSummary(object):
|
|
print(q1)
|
|
print(q1)
|
|
print(q3)
|
|
print(q3)
|
|
return q1, q3
|
|
return q1, q3
|
|
|
|
+
|
|
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-data = list(range(1, 33)) + list(range(12, 21)) + list(range(12, 21)) + list(range(12, 21)) + [16]
|
|
|
|
-d1 = list(range(1, 33)) + list(range(12, 21)) + list(range(12, 21)) + list(range(12, 21)) + [16]
|
|
|
|
|
|
+# data = list(range(1, 33)) + list(range(12, 21)) + list(range(12, 21)) + list(range(12, 21)) + [16]
|
|
|
|
+# d1 = list(range(1, 33)) + list(range(12, 21)) + list(range(12, 21)) + list(range(12, 21)) + [16]
|
|
|
|
|
|
# print(data)
|
|
# print(data)
|
|
|
|
|
|
# d1 = range(1, 33) + range(12, 21) + range(12, 21) + range(12, 21) + [16]
|
|
# d1 = range(1, 33) + range(12, 21) + range(12, 21) + range(12, 21) + [16]
|
|
-d2 = [d - 2 for d in d1[:len(data)//2]] + [d + 2 for d in d1[len(data)//2:]]
|
|
|
|
-data2 = [("A", n) for n in d1] + [("B", n) for n in d2]
|
|
|
|
|
|
+# d2 = [d - 2 for d in d1[:len(data)//2]] + [d + 2 for d in d1[len(data)//2:]]
|
|
|
|
+# data2 = [("A", n) for n in d1] + [("B", n) for n in d2]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# print(data2)
|
|
# print(data2)
|
|
# print(type(data2))
|
|
# print(type(data2))
|
|
# print(d2)
|
|
# print(d2)
|
|
-test_list = [1, 2, 5, 2, 3, 'asdfasd', 2, 3, 12, 45, 3, 6, 25, 54, 32, 12, 14]
|
|
|
|
|
|
+# test_list = [1, 2, 5, 2, 3, 'asdfasd', 2, 3, 12, 45, 3, 6, 25, 54, 32, 12, 14, 2]
|
|
|
|
+
|
|
|
|
+# summary1 = StatisticalSummary(test_list)
|
|
|
|
+# summary1.boxplot()
|
|
|
|
+
|
|
|
|
+# ------------------------------------------------------------------------------- #
|
|
|
|
+
|
|
|
|
+def is_valid_walk(walk):
|
|
|
|
+ horizontl = 0
|
|
|
|
+ vertical = 0
|
|
|
|
+ for i in walk:
|
|
|
|
+ if i == 'n':
|
|
|
|
+ vertical += 1
|
|
|
|
+ elif i == 's':
|
|
|
|
+ vertical -= 1
|
|
|
|
+ elif i == 'w':
|
|
|
|
+ horizontl -= 1
|
|
|
|
+ elif i == 'e':
|
|
|
|
+ horizontl += 1
|
|
|
|
+
|
|
|
|
+ return vertical == 0 and horizontl == 0 and len(walk) == 10
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+# Решение через метод count
|
|
|
|
+# def isValidWalk(walk):
|
|
|
|
+ # return len(walk) == 10 and walk.count('n') == walk.count('s') and walk.count('e') == walk.count('w')
|
|
|
|
+
|
|
|
|
+# print(is_valid_walk(['w','e','w','e','w','e','w','e','w','e','w','e']))
|
|
|
|
+
|
|
|
|
+# ------------------------------------------------------------------------------- #
|
|
|
|
+
|
|
|
|
+# На входе одно число из массив четное или нечетно. Нужно его найти и вернуть.
|
|
|
|
+def find_outlier(integers):
|
|
|
|
+ types = []
|
|
|
|
+
|
|
|
|
+ def is_even(value):
|
|
|
|
+ return value%2 == 0
|
|
|
|
+
|
|
|
|
+ for i in integers:
|
|
|
|
+ types.append(is_even(i))
|
|
|
|
+
|
|
|
|
+ if types.count(True) > types.count(False):
|
|
|
|
+ return integers[types.index(False)]
|
|
|
|
+ else:
|
|
|
|
+ return integers[types.index(True)]
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+# Более короткое решение
|
|
|
|
+# def find_outlier(int):
|
|
|
|
+ # odds = [x for x in int if x%2!=0]
|
|
|
|
+ # evens= [x for x in int if x%2==0]
|
|
|
|
+ # return odds[0] if len(odds)<len(evens) else evens[0]
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+# print(find_outlier([2, 4, 0, 100, 4, 11, 2602, 36]))
|
|
|
|
+
|
|
|
|
+# ------------------------------------------------------------------------------- #
|
|
|
|
+
|
|
|
|
+# В переданной строке должно быть только 4 или 6 цифр
|
|
|
|
+def validate_pin(pin):
|
|
|
|
+ return len(pin) in (4, 6) and pin.isdigit()
|
|
|
|
|
|
-summary1 = StatisticalSummary(test_list)
|
|
|
|
-summary1.boxplot()
|
|
|
|
|
|
+# print(validate_pin('-234'))
|