|
@@ -640,6 +640,222 @@ def print_digit_sum(num):
|
|
|
num = num//10
|
|
|
print(ret)
|
|
|
|
|
|
-print_digit_sum(1035)
|
|
|
+# print_digit_sum(1035)
|
|
|
|
|
|
+def get_factors(num):
|
|
|
+ l = []
|
|
|
+ for i in range(1, num + 1):
|
|
|
+ if num%i == 0:
|
|
|
+ l.append(i)
|
|
|
+ return l
|
|
|
|
|
|
+# print(get_factors(10))
|
|
|
+
|
|
|
+def number_of_factors(num):
|
|
|
+ return len(get_factors(num))
|
|
|
+
|
|
|
+# print(number_of_factors(10))
|
|
|
+
|
|
|
+def find_all(target, symbol):
|
|
|
+ l = []
|
|
|
+ s = ""
|
|
|
+ for i in range(len(target)):
|
|
|
+ if target[i] == symbol:
|
|
|
+ l.append(i)
|
|
|
+ return l
|
|
|
+
|
|
|
+# print(find_all('sdfwerasdfqfaf', 's'))
|
|
|
+
|
|
|
+def merge(list1, list2):
|
|
|
+ list1.extend(list2)
|
|
|
+ list1.sort()
|
|
|
+ return list1
|
|
|
+
|
|
|
+# print(merge([1, 2, 3], [5, 6, 7, 8]))
|
|
|
+
|
|
|
+def is_prime(num):
|
|
|
+ cnt = 0
|
|
|
+ for i in range(1, num + 1):
|
|
|
+ if num%i == 0:
|
|
|
+ cnt += 1
|
|
|
+ return cnt == 2
|
|
|
+
|
|
|
+def get_next_prime(num):
|
|
|
+ index = 1
|
|
|
+ while is_prime(num + index) == False:
|
|
|
+ index += 1
|
|
|
+ return num + index
|
|
|
+
|
|
|
+# print(get_next_prime(7))
|
|
|
+
|
|
|
+
|
|
|
+# его длина не менее 8 символов;
|
|
|
+# он содержит как минимум одну заглавную букву (верхний регистр);
|
|
|
+# он содержит как минимум одну строчную букву (нижний регистр);
|
|
|
+# он содержит хотя бы одну цифру.
|
|
|
+
|
|
|
+def is_password_good(password):
|
|
|
+ up_flag = False
|
|
|
+ low_flag = False
|
|
|
+ dig_flag = False
|
|
|
+ for i in password:
|
|
|
+ if up_flag == False: up_flag = i.istitle()
|
|
|
+ if low_flag == False: low_flag = i.islower()
|
|
|
+ if dig_flag == False: dig_flag = i.isdigit()
|
|
|
+
|
|
|
+ return len(password) >= 8 and up_flag and low_flag and dig_flag
|
|
|
+
|
|
|
+# print(is_password_good("sfasddfDeqwe"))
|
|
|
+
|
|
|
+
|
|
|
+def is_one_away(word1, word2):
|
|
|
+ cnt = 0
|
|
|
+ len_flag = len(word1) == len(word2)
|
|
|
+
|
|
|
+ if len_flag:
|
|
|
+ for i in range(len(word1)):
|
|
|
+ if word1[i] != word2[i]:
|
|
|
+ cnt +=1
|
|
|
+
|
|
|
+ return len_flag and cnt == 1
|
|
|
+
|
|
|
+# print(is_one_away("aab", "abc"))
|
|
|
+
|
|
|
+
|
|
|
+def is_palindrome(text:str):
|
|
|
+ s = ''
|
|
|
+ flag = True
|
|
|
+ for i in range(len(text)):
|
|
|
+ if text[i].isalpha():
|
|
|
+ s += text[i].lower()
|
|
|
+
|
|
|
+ for i in range(len(s)//2):
|
|
|
+ if s[i] != s[-1 - i]:
|
|
|
+ flag = False
|
|
|
+
|
|
|
+ return flag
|
|
|
+
|
|
|
+
|
|
|
+# print(is_palindrome("BEEGEEK"))
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ # число a – должно быть палиндромом;
|
|
|
+ # число b – должно быть простым;
|
|
|
+ # число c – должно быть четным.
|
|
|
+
|
|
|
+def is_number_palindrome(num):
|
|
|
+ orig = num
|
|
|
+ new = 0
|
|
|
+ while num:
|
|
|
+ num, d = divmod(num, 10)
|
|
|
+ new = new*10 + d
|
|
|
+
|
|
|
+ return new == orig
|
|
|
+
|
|
|
+def is_simple(num: int):
|
|
|
+ cnt = 0
|
|
|
+ for i in range(1, num + 1):
|
|
|
+ if num%i == 0:
|
|
|
+ cnt += 1
|
|
|
+ return cnt == 2
|
|
|
+
|
|
|
+
|
|
|
+def is_valid_password(password: str):
|
|
|
+ if password.count(":") != 2:
|
|
|
+ return False
|
|
|
+ a, b, c = map(int, password.split(":"))
|
|
|
+
|
|
|
+ return is_number_palindrome(a) and is_simple(b) and c%2 == 0
|
|
|
+
|
|
|
+# print(is_valid_password("24422442:181:890000"))
|
|
|
+
|
|
|
+
|
|
|
+# )(())()(()())((()))()(())
|
|
|
+def is_correct_bracket(text: str):
|
|
|
+ index = 0
|
|
|
+ for i in text:
|
|
|
+ if i == '(':
|
|
|
+ index += 1
|
|
|
+ elif i == ')':
|
|
|
+ index -= 1
|
|
|
+ if index < 0: return False
|
|
|
+ return index == 0
|
|
|
+
|
|
|
+# print(is_correct_bracket("()(())()((())((()))()(())"))
|
|
|
+
|
|
|
+
|
|
|
+def convert_to_python_case(text: str):
|
|
|
+ s = text[0].lower()
|
|
|
+ for i in text[1:]:
|
|
|
+ if i.isupper():
|
|
|
+ s = s + '_' + i.lower()
|
|
|
+ else:
|
|
|
+ s += i
|
|
|
+ return s
|
|
|
+
|
|
|
+# print(convert_to_python_case('ThisIsCamelCased'))
|
|
|
+# print(convert_to_python_case('IsPrimeNumber'))
|
|
|
+
|
|
|
+
|
|
|
+def solve(a, b, c):
|
|
|
+ d = b**2 - 4*a*c
|
|
|
+ if d == 0:
|
|
|
+ return -1*b/(2*a), -1*b/(2*a)
|
|
|
+ x1 = (-1*b + d**0.5)/(2*a)
|
|
|
+ x2 = (-1*b - d**0.5)/(2*a)
|
|
|
+ if x1 <= x2:
|
|
|
+ return x1, x2
|
|
|
+ else:
|
|
|
+ return x2, x1
|
|
|
+
|
|
|
+# вызываем функцию
|
|
|
+# x1, x2 = solve(1, 2, 1)
|
|
|
+# print(x1, x2)
|
|
|
+
|
|
|
+
|
|
|
+def number_to_words(num):
|
|
|
+ d = {1: 'один', 2: 'два', 3: 'три', 4: 'четыре', 5: 'пять', 6: 'шесть', 7: 'семь', 8: 'восемь', 9: 'девять', 10: 'десять', 11: 'одиннадцать', 12: 'двенадцать', 13: 'тринадцать', 14: 'четырнадцать', 15: 'пятнадцать', 16: 'шестнадцать',17: 'семнадцать', 18: 'восемнадцать', 19: 'девятнадцать', 20: 'двадцать', 30: 'тридцать', 40: 'сорок', 50: 'пятьдесят', 60: 'шестьдесят', 70: 'семьдесят', 80: 'восемьдесят', 90: 'девяносто'}
|
|
|
+ ans = ""
|
|
|
+ f, s = num//10, num%10
|
|
|
+ if num > 20:
|
|
|
+ ans = d[f*10] + " "
|
|
|
+ if s:
|
|
|
+ ans += d[s]
|
|
|
+ else:
|
|
|
+ ans = d[num]
|
|
|
+ return ans
|
|
|
+
|
|
|
+
|
|
|
+def get_month(language, number):
|
|
|
+ lng_ru = ['январь', 'февраль', 'март', 'апрель', 'май', 'июнь', 'июль', 'август', 'сентябрь', 'октябрь', 'ноябрь', 'декабрь']
|
|
|
+
|
|
|
+ lng_en = ['january', 'february', 'march', 'april', 'may', 'june', 'july', 'august', 'september', 'october', 'november', 'december']
|
|
|
+
|
|
|
+ if language == 'ru':
|
|
|
+ return lng_ru[number - 1]
|
|
|
+ else:
|
|
|
+ return lng_en[number - 1]
|
|
|
+
|
|
|
+# print(get_month('ru', 1))
|
|
|
+
|
|
|
+def is_magic(date):
|
|
|
+ day, month, year = map(int, date.split('.'))
|
|
|
+ year = year%100
|
|
|
+ return day*month == year
|
|
|
+
|
|
|
+# print(is_magic('10.06.1960'))
|
|
|
+
|
|
|
+from string import ascii_lowercase
|
|
|
+
|
|
|
+def is_pangram(text):
|
|
|
+ flag = True
|
|
|
+ text = text.lower()
|
|
|
+ for i in ascii_lowercase:
|
|
|
+ if i not in text:
|
|
|
+ flag = False
|
|
|
+ return flag
|
|
|
+
|
|
|
+# print(is_pangram('Jackdaws love my big sphinx of quartz'))
|
|
|
+# print(is_pangram('The jay pig fox zebra and my wolves quack'))
|
|
|
+# print(is_pangram('Hello world'))
|