python的用缩进来替代c++中的{},导致自动格式化不可用,换行后需要shift+tab来控制循环结构,还是真是感觉不怎么方便呢。。
from math import sqrt
j=2
while j<=100:
i=2
k=sqrt(j)
while(i<k):
if j%i == 0:
break
i = i+1
if(i>k):
print j,
j+=1
from math import sqrt
for i in range(2,101):
k = int (sqrt(i))
for j in range(2,k+1):
if i%j == 0:
break
if(j>=k):
print i,
from math import sqrt
for i in range(2,101):
flag = 1;
k = int (sqrt(i))
for j in range(2,k+1):
if i%j == 0:
flag = 0
break
if(j>=k):
print i,
from math import sqrt
def isprime(x):
if x ==1:
return False
k = int(sqrt(x))
for j in range(2,k+1):
if x%j == 0:
return False
return True
for i in range(2,101):
if isprime(i):
print i,
打印2-100间的质数的两种方法
循环中的else:
—如果循环代码从break处终止,挑出循环
—正常结束循环,则执行else中代码
关键字参数是让调用者通过使用参数名区分参数。允许改变参数列表中的参数顺序。
把函数名作为一个参数,传递给另外一个函数,称为传递函数。
lambda函数(匿名函数)
def my_add(x,y) : return x+y
lambda x,y : x+y
my_add = lambda x,y : x+y
>>>my_add(3,5)
8
递归是最能表现计算机思维的算法之一
global语句强调全局变量
第三方库函数 可在 http://scipy.org/ 上看前4个库的基本功能、tutorial和实例图。
NumPy Base N-dimensional array package
- a powerful N-dimensional array object
- sophisticated (broadcasting) functions
- tools for integrating C/C++ and Fortran code
- useful linear algebra, Fourier transform, and random number capabilities
给了一个产生矩阵的例子(ndarray)
SciPy library Fundamental library for scientific computing
给了一个计算矩阵秩的例子
Matplotlib Comprehensive 2D Plotting
二维绘图库
Pandas Data structures & analysis
高效的Series和DataFrame数据结构
Series 对应一维序列 是可变长字典
DataFrame 共享同一个index的 Series集合 , 类似表格的数据结构
IPython Rnhanced Interactive Console
Sympy Symbolic mathematics
数据选择
>>>djidf.loc[1:5,] #找标签号为1、2、3、4、5的所有数据
>>>djidf.loc{:,['code','lasttrade']} #显示对应的两列数据
>>>djidf.loc{1:5,['code','lasttrade']} #综合上面两个
选择单个值
>>>djidf.loc[1,'lasttrade']
>>>djidf.at[1,'lasttrade']
另外还有iloc、iat 把列标签变为数字使用(列位置)
条件筛选
>>>quotesdf[quotesdf.index>=u'2014-01-01']
>>>quotesdf[(quotesdf.index>=u'2014-01-01')&(quotesdf.close>=95)]