部分函数

调和函数

def harmonic(n):
    total = 0.0
    for i in range(1,n+1):
        total = 1.0/i
    return total

for i in range(1,len(sys.argv)):
    arg = int(sys.argv[i])
    value = harmonic(arg)
    stdio.writeln(value)
 

判断是否为素数

def isPrime(n):
    if n<2:return False
    i = 2
    while i*i <= n:
        if n%i==0:return False
        i +=1
    return True

最大公约数

#辗转相除

def fun(a,b):
    x = a%b
    while (x!=0):
        a =b
        b =x
        x =a%b
    return b
 

#辗转相减法
def fun2(a,b):
    while a != b:
        if a > b:
            a = a - b
        else:
            b = b - a
    return b
 

 

部分函数

 

部分函数

 

 

部分函数

 

数值

x=3**100   #想知道x的位数

bits= x.bit_length()

print bits

 

字符串

#计算字符串长度

 

len(s)                   

s+t                      #拼接字符串 生成一个新的

s +=t                     #拼接结果值赋给s

s[i]

s[i:j]                    #ij-1个字符切片

s[i:j:k]                  #步长k

s<k                    #比较

 

s in t                   #判断t中是否有s

s not in t                 #是否没有

s.count(t)                #s中出现t几次

 

s.find(t,start)             # s中出现的第一个t 返回位置 若没有 返回-1

s.upper()                #大写

s.lower()                #小写

s.startswith(t)            #判断s以什么开头?

s.endswith(t)             #是否以t结尾

s.strip()                  #删除空格

s.replace(old,new)         #新字符替代旧字符

s.split(delimiter)           #s= ab cd e d ->[ab,cd,e,d] 

 

#数组的字符串拼接

delimiter.join(a)

 

print b<c

print a<c                 # 一个字符一个字符比   都先从第一个开始若一样 比第二个  

 

阶乘

i=1
n=int (sys.argv[1])
sss=1 
for i in range(1,n+1):
    sss=sss*i
stdio.writeln(str(sss))

 

二进制

i=1
w=''
n=int (sys.argv[1])
aa=n
if (n==0):
    w='0'
for i in range(1,n+1):
    while aa!=0:
        s=aa%2
        aa=aa/2
        if(s==1):
            w='1'+w
        else:
            w='0'+w
    i=i+1

stdio.writeln(str(w))

 

二进制

n=int (sys.argv[1])
s=''
while n>0:
    s=str(n%2)+s
    n/=2
stdio.writeln(str(s))
'''

#zhuan 8bajinzhi

n=int (sys.argv[1])
s=''
while n>0:
    s=str(n%8)+s
    n/=8
stdio.writeln(str(s))