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

Reply via email to