123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301 |
-
-
- def first_unique_char(s):
- s.lower()
- for i in range(len(s)):
- if s.count(s[i]) == 1:
- return i
- else:
- return -1
-
- def format_name_list(names: list):
- length = len(names)
- s = ""
- if length == 0:
- return ""
- elif length == 1:
- return names[0].get("name")
- elif length == 2:
- return names[0].get("name") + ' и ' + names[1].get("name")
- else:
- for i in range(len(names) - 1):
- s += names[i].get("name") + ', '
-
- return s[:-2] + " и " + names[-1].get("name")
-
- def get_domain_name(url : str):
- my_list = []
- if url.find("//") != -1:
- my_list = url.split("//")
- if my_list[1].find("www") != -1:
- my_list = my_list[1].split(".")
- return my_list[1]
-
- else:
- my_list = my_list[1].split(".")
- return my_list[0]
- else:
- my_list = url.split(".")
- return my_list[1]
- def factorial(n):
- fact = 1
- for num in range(2, n + 1):
- fact *= num
- return fact
- def trailing_zeros(n):
- s = str(factorial(n))[::-1]
- l = []
- for i in range(len(s)):
- if s[i] != '0':
- break
- else:
- l.append(s[i])
- return len(l)
- def count_AGTC(dna):
- return dna.count('A'), dna.count('G'), dna.count('T'), dna.count('C')
- def foo():
- "Эта функция делает что-то"
- pass
- class Model:
- """
- This is class model
- """
- pass
- def get_even(lst, number):
- """_summary_
- Args:
- lst (_type_): _description_
- number (_type_): _description_
- """
- from typing import List, Dict, Tuple, Optional, Any, Union
- def list_upper(lst: List[str]):
- for elem in lst:
- print(elem.upper())
- def first_repeated_word(s: str):
- """Находит первый дубль в строке
- Args:
- s (str): строка
- Returns:
- str: первое повторяющееся слово
- """
- l = s.split()
- d_index = dict()
- for i in range(len(l)):
- if (l.count(l[i]) > 1) and l[i] not in d_index.values():
- d_index.update({l.index(l[i], i+1, len(l)) : l[i]})
-
- if len(d_index) == 0:
- return None
- m = len(l)
- if m == 0:
- return None
- for key,value in d_index.items():
- if key < m:
- m = key
- return d_index.get(m)
-
- def shift_letter(sim: str, shift: int):
- """Функция сдвигает символ letter на shift позиций """
- code = ord(sim) - 97
- if shift >= 0:
- shift = shift - 26*(shift//26)
- if (code + 97 + shift) >= 122:
- return chr(code + 97 + shift - 26)
- else:
- return chr(code + 97 + shift)
- else:
- shift *= -1
- shift = shift - 26*(shift//26)
- if (code + 97 - shift) < 97:
- return chr(code + 97 + 26 - shift)
- else:
- return chr(code + 97 - shift)
- def caesar_cipher(message: str, shift: int):
- """Шифр цезаря"""
- my_str = ""
- for i in message:
- if i.isalpha():
- my_str += shift_letter(i, shift)
- else :
- my_str += i
- return my_str
- assert caesar_cipher('leave out all the rest', -1) == 'kdzud nts zkk sgd qdrs'
- assert caesar_cipher('one more light', 3) == 'rqh pruh oljkw'
|