通过递归函数进行数字排序

时间:2016-01-02 21:11:43

标签: python-2.7 recursion

任何人都可以帮我弄清楚为什么我的递归函数不起作用? 我正在尝试对数字列表进行排序,以便从最大的数字开始,然后按降序继续。

def sort(L):
  newlist=[]
  if len(L) == 0:
    return []
  else:
    z = max(L)
    a=newlist.append(z)
    g=L.remove(z)
    return a, sort(g)


print sort([1,5,8,49,29,2])

1 个答案:

答案 0 :(得分:2)

L.remove(z)和newlist.append(z)都返回None。 如果你想让g与L相同但没有z元素,你可以写:

<?php

$allowedTasks = ['a','b'];

$task = (isset($_POST['task'] and in_array($_POST['task'],$allowedTasks))? $task = $_POST['task'] : false; 

switch($task){
    case 'a':
        include 'task-a-file.php';
        functionFromFileA();
    break;
    case 'b':
        include 'someOtherfile.php';
        // run some other code
    break;
    default:
        print 'Error: Unsupported task or action';
    break;
}

此外,当我想要返回列表时,您将返回多个返回值。以下似乎有效:

g=list(l)
g.remove(z)