Помогите пожалуйста правильно написать функцию Python
помогите пожалуйста правильно написать функцию,
мне нужно получить этот результат только в одной функции:

def log_request(req: 'flask_request' , res: 'str') -> None:
'''Функция принимает два аргумента <req> и <res> с функции <do_search>'''
#Аргумент <req> принимает текуший обьек запроса
#Аргумент <res> принимает результат вызова <number>
with open('vsearch.log', 'a') as log:
print(req.form['num_jek'], req.form['my_num1'] , res ,file=log , sep='|')
def log_request2(req: 'flask_request' , res: 'str') -> None:
with open('vsearch.log', 'a') as log:
print(req.form['num_jek'], req.form['my_num2'] , res ,file=log , sep='|')
def log_request3(req: 'flask_request' , res: 'str') -> None:
with open('vsearch.log', 'a') as log:
print(req.form['num_jek'], req.form['my_num3'] , res, file=log , sep='|')
ожидаю от кода , нужно чтобы с первой операции do_search записался первый print , далее функция log_request пропустила нижние 2 принта до выполнения следушей операции do_search , когда выполниться вторая операция должен записаться только второй print а первый и третий должны пропуститься , когда сработает 3 операция do_search то должный 1 и 2 print пропуститься а третий записаться.
def log_request(req: 'flask_request' , res: 'str') -> None:
'''Функция принимает два аргумента <req> и <res> с функции <do_search>'''
#Аргумент <req> принимает текуший обьек запроса
#Аргумент <res> принимает результат вызова <number>
with open('vsearch.log', 'a') as log:
print(req.form['num_jek'], req.form['my_num1'] , res ,file=log , sep='|')
print(req.form['num_jek'], req.form['my_num2'] , res ,file=log , sep='|')
print(req.form['num_jek'], req.form['my_num3'] , res, file=log , sep='|')
извините за глупый вопрос, я только учусь, поинтересоваться не у кого((
Ответы (1 шт):
Если я вас правильно понял, то как-то так:
n = 0
def log_request(req: 'flask_request', res: 'str') -> None:
'''Функция принимает два аргумента <req> и <res> с функции <do_search>'''
#Аргумент <req> принимает текущий объект запроса
#Аргумент <res> принимает результат вызова <number>
global n
n += 1
with open('vsearch.log', 'a') as log:
print(req.form['num_jek'], req.form['my_num'+str(n)] , res ,file=log , sep='|')
Но помните, что использовать global - не есть хорошо. Просто не зная остальной ваш код довольно сложно что-то советовать. :)
