On Tue, 23 Oct 2007 16:28:37 +0800, Yinghe Chen wrote: > Hello gurus, > > I have a question, a function like below, it is implemented by me, :) > > def funcA(tarray): > a = [2,3,4] > if len(tarray) >=3: > return a[0],a[1], a[2] > elif len(tarray) == 2: > return a[0],a[1], funcB(1)[0] > elif len(tarray) == 1: > return a[0], funcB(2)[0], funcB(2)[1] > else: > return funcB(3)[0], funcB(3)[1], funcB(3)[2] > > > The return of funcA is always 3 values, but depending on the length of > tarray, I need to return different values accordingly. if tarray lenght is > 2, I need to get another one value from funcB, if tarray length is 0, I need > to get all three values from funcB.
Untested: def func_a(t_array): result = [2, 3, 4] t_array_length = len(t_array) remaining_length = len(result) - t_array_length if t_array_length < len(result): result = (result[:t_array_length] + func_b(remaining_length)[:remaining_length]) return tuple(result) Ciao, Marc 'BlackJack' Rintsch -- http://mail.python.org/mailman/listinfo/python-list