xin 发布的文章

hug 目前提供三种接口:

  • 本地函数调用
  • 命令行 : 基于 标准库Argparse
  • http server 基于: Falcon

字段验证:

  • 采用python3函数参数注释方式验证
  • 一个验证要么验证通过返回验证后的值, 要么抛出异常

路由:

指令:

这个指令有点魔法,可以改变默认参数的值

分开成多个文件

@hug.extend_api('/something')

测试API:

def tests_happy_birthday():
    response = hug.test.get(happy_birthday, 'happy_birthday', {'name': 'Timothy', 'age': 25})
    assert response.status == HTTP_200
    assert response.data is not None

插入排序就像打扑克牌那样, 调整手中扑克牌的顺序。

我最开始写的版本

list_ = [2,1,7,4,9,3,5]

new_list = []
for n in list_:
    if new_list:
        for j in range(len(new_list)):  # 此处不能把new_list 做为循环对象, 
                                        # 因为下文会修改new_list,改循环len()
            if n < new_list[j]:
                new_list.insert(j, n)
                break
            if j == len(new_list) -1:
                new_list.insert(j+1, n)
    else:
        new_list.append(n)

print(new_list)

参考书上的第二版本

- 阅读剩余部分 -

选择排序就是先找出一个列表中最大的元素放到一个新的空列表中,再从这个列表中剩下的元素找出最大的(也就是次大的)添加到之前的新列表后面。以此类推,一直,把原列表找完, 新列表里面的元素就是排好序的。
def findSamllest(arr):
    smallestt = arr[0]
    smallestt_index = 0
    for i in range(1, len(arr)):
        if arr[i] < smallestt:
            smallestt = arr[i]
            smallestt_index = i
    return smallestt_index


def selecionSort(arr):
    newArr = []
    for i in range(len(arr)):
        samllest_index = findSamllest(arr)
        newArr.append(arr.pop(samllest_index))
    return newArr

print(selecionSort([3,7,2,9,6,1]))