2015-12-18 3 views
0

У меня есть функция R(t) определяется как:Как обновить различные аргументы для одной и той же функции?

def R(t) : 
    if t > 0 : 
     return "R" 
    else : 
     return 0 

Теперь я хочу иметь несколько экземпляров данной функции, работающих на один раз. Например, всякий раз, когда выполняется какое-либо заданное условие, я хотел бы сгенерировать R(2), а затем для каждой итерации цикла for я хотел бы вычесть 1 из аргумента. Моя проблема возникает, когда условие выполняется несколько раз в разных итерациях цикла, так что, хотя может появиться только R(2), будет R(1), превращающийся в R(0).
Я не знаю, как использовать python, но я не думаю, что код, позволяющий мне выполнять то, что я хочу, очень сложно. Я считаю, что, возможно, если я определяю R(t,j) и использую j в качестве параметра индексации, это может быть проще для кода.

+1

* несколько экземпляров этой функции * - Вы потеряли меня там. Не могли бы вы объяснить? – thefourtheye

+0

В моем коде я работаю с вектором столбца, поэтому каждый раз, когда выполняется условие, еще одна из записей должна превращаться в экземпляр 'R (t)'. Однако, поскольку цикл for продолжается, 't' должен действовать как своего рода часы, отсчитывая до нуля каждую итерацию цикла. Затем в другой точке цикла условие может быть выполнено снова, а другой набор записей должен быть обращен в «R (t)» в «время начала», из которого он должен снова рассчитывать до нуля с каждой итерацией петля. –

+0

Просьба показать пример ввода и вывода. Ваше описание довольно сложно понять. –

ответ

1

рекурсивная функция, которая делает то, что вы хотите:

def R(t): 
if t > 0: 
    print "R" 
    return R(t-1) 
else: 
    print t 
Смежные вопросы