本文操作环境: Debian 9,lnmp1.6,Django2.1.3,Python3.6.0

主要参考了文档 查看

1. 安装 Python3.6.0

由于Django2.1仅支持Python3.5以上的版本,所以需要安装Python3版本。如果直接安装Python3版本,使用时需要改变全局默认Python版本,还需要重新配置环境变量,所以推荐一个叫pyenv的Python多版本管理工具,它构建出一个Python虚拟环境,可以在多个Python版本间随意切换。

  • 实现思路

使用js移动元素位置,利用css的transition属性实现过渡动画。在线体验

创建一个数组arr,数组的每一项保存着节点元素的文本值(innerText)和元素在节点列表中的索引nodeIndex, 因为接下来的并不是真的交换两个节点,而是交换两个节点的位置(可能有点不好理解)。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
function init() {
let fragment = document.createDocumentFragment();
for (let i = 0; i < 10; i++) {
let div = document.createElement('div'),
num = parseInt(Math.random() * 10);
arr.push({
val: num,
nodeIndex: i, //这里保存的是节点在nodeList中的位置
});

//

}
}

  • 八皇后问题是一个经典的问题:在一个8*8的国际象棋盘中,摆放8个皇后,使得任意两个皇后不能互相伤害。这就要求任意两个皇后不能在同一行、同一列、同一对角线。
  • 这个问题可以使用深搜来解决:
    一行一行找能摆放的位置,board[i][j] = 1 表示在(i, j)这个位置摆放了皇后

没想到面试的时候还是被问到了,当时连归并的大致流程都说不出来,实在是觉得很尴尬,今天重新学一下,附上理解并实现的代码。

归并排序的思想就是分而治之,递归地把一个序列一分为二,每次将上一步得到的有序子序列合并到一起。

演示过程:

演示

“互联网电影资料库(英语:Internet Movie Database,简称IMDb)是一个关于电影演员、电影、电视节目、电视艺人、电子游戏和电影制作小组的在线数据库。”

IMDB TOP 250收录了世界上排名最高的250部电影,接下来写一个爬虫把这些电影收录起来。

首选语言当然是用世界上最流行的编程语言—Python了。

我用到两个库:requests、openpyxl,前者主要用来处理网络请求,后者用来操作excel文件。