(getattr(obj, fields[0]) == getattr(obj_ok, fields[0])) and (
getattr(obj, fields[1]) == getattr(obj_ok, fields[1])) and (
getattr(obj, fields[2]) == getattr(obj_ok, fields[2])) and (
getattr(obj, fields[3]) == getattr(obj_ok, fields[3])) and (
getattr(obj, fields[4]) == getattr(obj_ok, fields[4])) and (
getattr(obj, fields[5]) == getattr(obj_ok, fields[5])) and (
getattr(obj, fields[6]) == getattr(obj_ok, fields[6])):
all(getattr(obj, x) == getattr(obj_ok, x) for x in fields)
Мне очень интересно в каких направлениях копать, чтобы понять как оно все утроено, работает и что мне читать и изучать, чтобы разобраться и написать свой "фреймворк".
ну и для начала подскажите с чего начать.
a = [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26]
b = [y[1] for y in filter(lambda x: x[0]%4 == 0, enumerate(a, 1))]
print(b)
# [13, 17, 21, 25]
b = a[3::4]
print(b)
# [13, 17, 21, 25]
def game_result(result_frame):
if 'X' in result_frame:
return 20
elif '/' in result_frame:
return 15
elif '-' in result_frame:
return 0
return int(result_frame[0]) + int(result_frame[1])
def get_score(analized_res):
total, count, frames = 0, 0, 0
for frame, result_frame in (analized_res.items()):
frames += 1
count += 1
check_errors(result_frame)
total += game_result(result_frame)
print(f'Фрейм {count} результат {result_frame}')
print(f'кол-во очкoв {total}')
if frames != 10:
raise Exception('Неправильное количество фреймов!')
return total
...
Дана какая-то последовательность типа b'/x08/fgsdfgds/x09'. Через обычный decode - она никак не декодируется и тут проблема не в кодировке. Просто она после работы функции возвращает саму себя. Как декодировать такие последовательности байтов
>>> diction={365:1}
>>> print(id(diction))
4478940144
>>> def a():
... x=diction
... x.update({365:5})
... print('in a: ', id(x))
...
>>> def b():
... x=diction
... print(x[365])
... print('in b: ', id(x))
...
>>> a()
in a: 4478940144
>>> b()
5
in b: 4478940144
>>> print(id(diction))
4478940144
print(tree.find('.//{http://zakupki.gov.ru/oos/types/1}id').text)
# 18934116
import re
from lxml import etree
parser = etree.XMLParser(ns_clean=True)
xml = re.sub(' xmlns="[^"]+"', '', xml, count=1) # в xml - ваш реальный xml
tree = etree.fromstring(xml.encode(), parser)
print(tree.find(".//id").text)
# 18934116
mne = 5000
mesyc = 0
procent = 0.03
i = 0
while mesyc != 12:
mesyc += 1
mne += mne * procent
print(f'{mesyc} {mne:.2f}')
print(f'Я заработал за год {mne:.2f} руб')
# 1 5150.00
# 2 5304.50
# 3 5463.64
# 4 5627.54
# 5 5796.37
# 6 5970.26
# 7 6149.37
# 8 6333.85
# 9 6523.87
# 10 6719.58
# 11 6921.17
# 12 7128.80
# Я заработал за год 7128.80 руб
Мои мысли: наверное стоило бы сделать некое объединения всех людей по одному УИКу, и искать по этой группе по третьему столбцу данное сочетание слов: "КОММУНИСТИЧЕСКАЯ ПАРТИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ", соответственно если совпадение есть, значит этот УИК не попадает в нужный список, а если совпадения нет, значит берем этот УИК и добавляем его в список.
Подскажите в сторону каких библиотек рыть, и куда копать?
import random
# создаем случайное имя переменной из 5 символов и присваиваем, к примеру - числу
# вы можете добавить свой алгоритм для генерации рандомного названия
locals()[''.join(map(lambda _:random.choice(['a', 'b', 'c', 'd', 'e', 'f']), range(5)))] = 42
# смотрим какие переменные есть в нашей области видимости, и видим переменную подпадающую под нашу
locals()
# {..., 'ebfac': 42}
# выводим значение переменной
>>> print(ebfac)
# 42