Python初学者(零基础学习Python、Python入门)书籍、视频、资料、社区推荐

Python初学者(零基础学习Python、Python入门)书籍、视频、资料、社区推荐

Python初学者(零基础学习Python、Python入门)书籍、视频、资料、社区推荐

本文 主要 针对 零基础 想学习Python者。本文本文由@史江歌(shijiangge@gmail.com QQ:499065469)根据互联网资料收集整理而成,感谢互联网,感谢各位的分享。鸣谢!本文会不断更新。

Read More

有了这个列表,程序员不愁没练手的小项目了

初衷

这个列表原本首发在伯乐在线的一篇译文:http://blog.jobbole.com/49762/。2016年9月21日,该文章推送到微信公众号 程序员的那些事 (ID: iProgrammer ) 后,@BleethNie 留言建议把这 120+ 练手小项目统一放在一个地方,同时其他人可以把自己完成项目提交合并到一起,相互参考学习。于是我们在 GitHub 创建了这个项目。后续会以超链的形式合并大家提交的成果到这个列表。欢迎 fork & star,并扩散给更多人。

Read More

浅谈C++中的回调函数

一言不合直接上代码。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
using namespace std;

int get_value(int a[], int n, bool (*fp)(int,int)){
int value = a[0];
for (int i = 1; i < n; i++){
if ((*fp)(a[i],value)){
value = a[i];
}
}
return value;
}

bool cmp(int a, int b){
return a < b;
}

int main(){
int a[4] = {1,2,4,5};
int value = get_value(a, 4, cmp);
cout << value << endl;
return 0;
}

Read More

快速Fibnacci数列

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
/**
* 快速fibnacci数列
*
* author : ismdeep
*/
#include <iostream>
using namespace std;

// MAXN 给1000肯定是会溢出的,这里只是给一个例子,快速fibnacci
#define MAXN 1000

int fib[MAXN];

// 初始化
void init()
{
for (int i = 0; i < MAXN; i++)
{
fib[i] = -1; // 因为fibnacci数列里面不可能出现-1,所以这里给每个数值都赋值为-1作为是否计算出结果的标记
}
fib[0] = 0;
fib[1] = 1;
}

// 递归去搜索
// 这里不需要递归的临界判断,因为下标0和下标1都一定不为-1,一定可以return结果的。
int search_fib(int index)
{
if (-1 != fib[index])
{
return fib[index];
}
else
{
fib[index] = search_fib(index-1)+search_fib(index-2);
return fib[index];
}
}

int main()
{
init();
int n;
while (scanf("%d", &n) != EOF)
{
int ans = search_fib(n);
printf("%d\n", ans);
}
}

Read More

素数筛选算法

一个快速的筛选从0到一个数字之前所有素数的方法,思路比较简单:先把所有数字都标记为素数,然后从2开始一直到n,当这个数字i的标记为素数,就把 i i, i (i+1), i * (i+2), … , 全部标记为非素数即可。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <iostream>
using namespace std;

// max number
#define MAXN 1024

int main () {
bool is_prime[MAXN+1];
for (int i = 0; i <= MAXN; i++){
is_prime[i] = true;
}
is_prime[0] = false;
is_prime[1] = false;
for (int i = 2; i <= MAXN; i++){
if (is_prime[i]){
for (int j = i * i; j <= MAXN; j += i){
is_prime[j] = false;
}
}
}
// done for judge all number wether it is a prime.
// ----------------------------------------------
// output all prime number between 0-MAXN
for (int i = 0; i <= MAXN; i++){
if(is_prime[i]){
printf("%d ", i);
}
}
printf("\n");
return 0;
}

Read More

markdownpad2激活密钥

MarkdownPad是Windows下的一个多功能Markdown编辑器。即时看到你的Markdown文件,当你创建它们的时候,看起来就像是在HTML中的一样。当您输入时,LivePreview会自动滚动到你正在编辑的当前位置。

MarkdownPad is currently available in the following languages:

Read More

MinGW下载

  • 5.3.0

Windows 32位下载

Read More

蔡勒(Zeller)公式

蔡勒(Zeller)公式

历史上的某一天是星期几?未来的某一天是星期几?关于这个问题,有很多计算公式(两个通用计算公式和一些分段计算公式),其中最著名的是蔡勒(Zeller)公式。即w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1
公式中的符号含义如下,w:星期;c:世纪-1;y:年(两位数);m:月(m大于等于3,小于等于14,即在蔡勒公式中,某年的1、2月要看作上一年的13、14月来计算,比如2003年1月1日要看作2002年的13月1日来计算);d:日;[ ]代表取整,即只要整数部分。(C是世纪数减一,y是年份后两位,M是月份,d是日数。1月和2月要按上一年的13月和 14月来算,这时C和y均按上一年取值。)
算出来的W除以7,余数是几就是星期几。如果余数是0,则为星期日。
以2049年10月1日(100周年国庆)为例,用蔡勒(Zeller)公式进行计算,过程如下:
蔡勒(Zeller)公式:w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1
=49+[49/4]+[20/4]-2×20+[26× (10+1)/10]+1-1
=49+[12.25]+5-40+[28.6]
=49+12+5-40+28
=54 (除以7余5)
即2049年10月1日(100周年国庆)是星期5。

Read More

2015 ACM-ICPC 上海邀请赛 – B题 – hdu – 5237

Problem Description
Mike does not want others to view his messages, so he find a encode method Base64.
Here is an example of the note in Chinese Passport.

Read More

mysql命令行备份数据库

MySQL数据库使用命令行备份|MySQL数据库备份命令

例如:

数据库地址:127.0.0.1

数据库用户名:root

数据库密码:pass

Read More