2013-12-20 3 views
1
def f(x): 
    xs=str(x) 
    if len(xs) == 1: 
     return int(xs) 
    n = int(xs[0]) + int (xs[1]) 
    if len (xs) == 2: 
     return n 
    else: 
     return n+f(xs[2:]) 

Специфично, что же делает f(xs[2:])?Что означает последняя строка в этой функции Python?

+0

Что вы спрашиваете? 'xs [2:]' - это фрагментарная нотация, как все говорили. Если вы спросите о 'return n + f (......)', это рекурсия. – FallenAngel

ответ

3

Это называется slicing notation и создается копия списка, исключая первые два элемента.

+1

Также обратите внимание, что это вызывает рекурсию. – gregb212

+0

@ gregb212 Возможно, это было намеренно :) – thefourtheye

+0

Да ... это викторина, и я ее не поймал ... спасибо! – Andra

Смежные вопросы