print(soup.find('span', {'class': 'searchBar__mediaTabTextValue searchBar__mediaTabTotal'}).get_text())
>>> 75
Нужно рабочее решение !!!!
не принимаю и даю жалобу.
import java.math.BigInteger;
public class A {
public static void main(String[] args) {
BigInteger output_1 = generate(400732734464L, -74, 12);
BigInteger output_2 = generate(1641401281110016L, 100, 14);
System.out.println(output_1);
System.out.println(output_2);
}
public static BigInteger generate(long val1, int val2, int val3) {
return BigInteger.valueOf(val2 & 255)
.add(BigInteger.valueOf(val1))
.shiftLeft(val3);
}
}
from itertools import groupby
source = [
{'code': 'AA01', 'group': 'U01', 'user': '1375', },
{'code': 'AA01', 'group': 'U01', 'user': '1575', },
{'code': 'AA03', 'group': 'U02', 'user': '1375', },
{'code': 'AA02', 'group': 'U02', 'user': '1345', },
{'code': 'AA02', 'group': 'U03', 'user': '1315', },
{'code': 'AA01', 'group': 'U04', 'user': '1615', },
]
result = {k:list(v) for k,v in groupby(source, lambda x: x['group'])}
>>> print(result)
{'U01': [{'code': 'AA01', 'group': 'U01', 'user': '1375'}, {'code': 'AA01', 'group': 'U01', 'user': '1575'}], 'U02': [{'code': 'AA03', 'group': 'U02', 'user': '1375'}, {'code': 'AA02', 'group': 'U02', 'user': '1345'}], 'U03': [{'code': 'AA02', 'group': 'U03', 'user': '1315'}], 'U04': [{'code': 'AA01', 'group': 'U04', 'user': '1615'}]}
>>> result = {k:{row['user']: row['code'] for row in v} for k,v in groupby(source, lambda x: x['group'])}
>>> result
{'U01': {'1375': 'AA01', '1575': 'AA01'}, 'U02': {'1375': 'AA03', '1345': 'AA02'}, 'U03': {'1315': 'AA02'}, 'U04': {'1615': 'AA01'}}
>>>
import re
def get_substrings(string):
"""Функция разбивки на слова"""
return re.split('\W+', string)
def get_distance(s1, s2):
"""Расстояние Дамерау-Левенштейна"""
d, len_s1, len_s2 = {}, len(s1), len(s2)
for i in range(-1, len_s1 + 1):
d[(i, -1)] = i + 1
for j in range(-1, len_s2 + 1):
d[(-1, j)] = j + 1
for i in range(len_s1):
for j in range(len_s2):
if s1[i] == s2[j]:
cost = 0
else:
cost = 1
d[(i, j)] = min(
d[(i - 1, j)] + 1,
d[(i, j - 1)] + 1,
d[(i - 1, j - 1)] + cost)
if i and j and s1[i] == s2[j - 1] and s1[i - 1] == s2[j]:
d[(i, j)] = min(d[(i, j)], d[i - 2, j - 2] + cost)
return(d[len_s1 - 1, len_s2 - 1])
def check_substring(search_request, original_text, max_distance):
"""Проверка нечёткого вхождения одного набора слов в другой"""
substring_list_1 = get_substrings(search_request)
substring_list_2 = get_substrings(original_text)
not_found_count = len(substring_list_1)
for substring_1 in substring_list_1:
for substring_2 in substring_list_2:
if get_distance(substring_1, substring_2) <= max_distance:
not_found_count -= 1
if not not_found_count:
return True
search_request = 'трубок использовали для прожигания'
original_text = 'трубок использовали для прожигания стальковша.Замена воронки 18м 8сл. Разлита полностью'
result = check_substring(search_request, original_text, max_distance=2)
print(result) # True если найдено, иначе None