2014-09-30 55 views
0

我想打印为了我的列表,但它使印刷第一值蟒3递归函数,打印为了

def print_order(s): 
    if not s: 
     return 
    print(s[0]) 
    print_order(s[:-1]) 

例如我有一个列表[1,2,3,4,5 ,6,7] I希望它是 打印出来

1 
    2 
    3 
    4 
    5 
    6 
    7 

回答

1

你正在服用的最后一个元件断开而不是第一的。尝试将递归调用的参数更改为s[1:]

+0

谢谢,它的工作! – 12345678 2014-09-30 23:40:50

+0

@ 12345678如果此(或其他)答案对您有帮助,您可以通过单击答案左侧的复选标记来“接受”答案。 – ikdc 2014-09-30 23:42:03

0

分片s[:-1]是除最后一个以外的所有元素。

你想s[1:],这是除了第一个元素之外的所有元素。

+0

谢谢,它的工作! – 12345678 2014-09-30 23:41:27