def декоратор1(f):
def helper():
print('декоратор1')
f()
return helper
def декоратор2(f):
def helper():
print('декоратор2')
f()
return helper
декораторы = {'1': декоратор1,
'2': декоратор2}
def функцыя():
print('функцыя')
декораторы['1'](функцыя)()
декораторы['2'](функцыя)()
some_shit = [['11;9999;ret', '11;8888;qwe', '11;4444;qje'],
['22;1111;hgf', '22;9999;kyu', '22;7777;cvb'],
['33;7777;cvb', '33;1111;shc', '33;9999;ret']]
other_shit = [{s.split(';')[1]: s for s in row} for row in some_shit]
final_shit = [[d[key] for d in other_shit]
for key in set.intersection(*map(set, other_shit))]
print(final_shit)
def rle(src):
result = []
# допишем букву, отличающуюся от последней в строке
src += 'b' if src.endswith('a') else 'a'
# теперь, заметь, она не пуста и проверка на пустоту не нужна
current = src[0]
counter = 0 # тут ошибочка, ты пытался дважды посчитать первую букву
for e in src:
if e == current:
counter += 1
else:
result.append((current, counter))
current = e
counter = 1
return result
string = 'aaabbbtttggghhhavaaa'
print(rle(string))
'012' 0 1 2
'0123' 0 1 2 3
'01234' 0 1 2 3 4
'012345' 0 1 2 3 4 5
'0123456' 0 1 2 3 4 5 6
'01234567' 0 1 2 3 4 5 6 7
'012345678' 0 1 2 3 4 5 6 7 8
'0123456789' 0 1 2 3 4 5 6 7 8 9
'01234567890' 0 18 36 54 72 90
'012345678901' 0 1 2 3 4 5 6 7 8 9 10
'0123456789012' 56 94 132 170 208
'01234567890123' 57 120 183 246 309
'012345678901234' 100 312 524 736 948
'0123456789012345' 0 181 362 543 724 905
'01234567890123456' 58 179 300 421 542 663
'012345678901234567' 50 1736 3422 5108 6794
'0123456789012345678' 6 139 272 405 538 671 804
'01234567890123456789' 0 9 18 27 36 45 54 63 72 81 90
'012345678901234567890' 162 300 438 576 714 852 990
'0123456789012345678901' 28 37 46 55 64 73 82 91 100 109
'01234567890123456789012' 584 1007 1430 1853 2276 2699
'012345678901234567890123' 102 219 336 453 570 687 804 921
'0123456789012345678901234' 91 674 1257 1840 2423 3006 3589
'01234567890123456789012345' 105 984 1863 2742 3621 4500 5379
'012345678901234567890123456' 162 1300 2438 3576 4714 5852 6990
'0123456789012345678901234567' 1621 3002 4383 5764 7145 8526 9907
'01234567890123456789012345678' 72 163 254 345 436 527 618 709 800 891
'012345678901234567890123456789' 108 197 286 375 464 553 642 731 820 909
Написать можно, но на плохих данных ей поплохеет. почему он не ищет " value" в базовом классе?
a, b = 'abcdefghij', '123cdie456'
print(''.join(a.translate(str.maketrans(b, ' ' * len(b))).split()))
from fractions import Fraction
def foo(n):
a, b = Fraction(1), Fraction(0)
for i in range(n * 2, 0, -2):
a, b = (a * i + b) / (i + 1), (a + b * i) / (i + 1),
return b
print(foo(1))
print(foo(100))
Мое решение, рАвно как и ответ, претендуют на правильность, да-да-да ) self._name
и cls.__name__
.