У меня есть следующие переменные, все они имеют свое собственное использование
attributes = {
"base" : None,
"recognize" : None,
"type" : None,
"is_correct" : False,
"index" : 0
};
res = [];
tmp_que = [];
first_res = None;
тогда у меня есть этот родитель l oop
y = [["- a", "+ b"]]
for per in y :
B.check(list(per));
pass;
где B.check имеет это l oop
for index,per in enumerate(base):
no_s_characters = ''.join(e for e in per if e.isalnum());
first_char = str(per)[0] if len(no_s_characters) > 0 else None;
is_empty_que = len(res) <= 0;
params = attributes;
params["base"] = no_s_characters;
params["recognize"] = [];
params["type"] = first_char;
if is_empty_que and index == 0:
params["is_correct"] = True \
if first_char != "-" and first_char != "+" \
else False;
first_res = params;
res.append(first_res);
print(">>> inner loop >>", res);
continue;
pass;
print(per, res,is_empty_que and index == 0);
last_index_que = res[len(res) - 1];
last_index = len(res) - 1;
pass;
Я хочу добавить, если текущий элемент l oop равен index == 0
, а переменная is_empty_que == True
. внутренний l oop print правильный, он печатает то, что условие должно выполняться, но на следующем l oop, где index == 1
и if condition == False
, следующая печать должна напечатать то, что уже добавлено в переменную res
и я ожидал, что следующая печать вернет это
{'base': 'a', 'recognize': [], 'type': '-', 'is_correct': False, 'index': 0}
, но оно вернет
{'base': 'b', 'recognize': [], 'type': '+', 'is_correct': False, 'index': 0}
полностью ...
class B(TextBasis):
@staticmethod
def check(base):
attributes = {
"base" : None,
"recognize" : None,
"type" : None,
"is_correct" : False,
"index" : 0
};
res = [];
tmp_que = [];
first_res = None;
test = False;
print("_______________________");
for index,per in enumerate(base):
no_s_characters = ''.join(e for e in per if e.isalnum());
first_char = str(per)[0] if len(no_s_characters) > 0 else None;
is_empty_que = len(res) <= 0;
params = attributes;
params["base"] = no_s_characters;
params["recognize"] = [];
params["type"] = first_char;
if is_empty_que and index == 0:
params["is_correct"] = True \
if first_char != "-" and first_char != "+" \
else False;
first_res = params;
res.append(first_res);
print(">>> inner loop >>", res);
continue;
pass;
print(per, res,is_empty_que and index == 0);
last_index_que = res[len(res) - 1];
last_index = len(res) - 1;
pass;
print("______________________")
pass;
pass;
y = [["- a", "+ b"]]
for per in y :
B.check(list(per));
pass;
введите описание изображения здесь