目录
1.函数
1.1 概念
1.2 类型
1.3标准库函数
1.4 os模块中常用的处理文件及目录的函数
1.5 random模块中的函数
2.默尼森数
2.1 默尼森数定义
2.2 找寻前5个默尼森数
3 函数的语法格式
4函数的调用及嵌套调用常见复习题
4.1 1~100之间所有素数
4.2 求解一元二次方程
4.3 求最大公约数
--------------------------------------------------------------------------------------------------------------------
1.函数
1.1 概念
函数是一个独立的代码块 • 在解决大规模问题时采用“模块化”策略,将一个大而复杂的 原始任务分解为多个较简单的子任务,再为每个简单的子任务 设计算法 • 将描述其算法的一组语句封装为一个独立代码块,为每个独立 代码块定义一个名字以及能与其他独立代码块通信的接口,这 种独立的代码块定义就是函数
1.2 类型
1.3标准库函数
1.4 os模块中常用的处理文件及目录的函数
import os
dir(os)
OS模块的所有用法
>>> import os
>>> os.getcwd()
'C:\WINDOWS\system32'
>>> path =
'd:\windows'
>>> os.chdir(path)
>>> os.chdir(‘d:\windows’)
>>> os.listdir(path)
>>> os.chdir(‘d:\windows’)
['act.txt','awc', …,'web','write.exe']
1.5 random模块中的函数
对于一个伪随机数生成器来说,
只要种子(seed) 相同,产生的
随机数字序列就是相同的。
2.默尼森数
2.1 默尼森数定义
对于一个伪随机数生成器来说, 只要种子(seed) 相同,产生的 随机数字序列就是相同的。
2.默尼森数
2.1 默尼森数定义
P是素数且M也是素数,并且 满足等式M=2P-1,则称M 为默尼森数例如P=5,M=2P-1=31,5 和
31都是素数,因此31是默尼森数
2.2 找寻前5个默尼森数
from math import sqrt
def isprime(x):
'''判断x是否为素数'''
k=int(sqrt(x))
for i in range(2,k+1):
if x%i==0:
return False
return True
p=1
count =1
while count<=5:
p+=1
M=2**p-1
if isprime(p)and isprime(M):
print(p,M)
count+=1
3 函数的语法格式
def 函数名([参数表]): '''文档字符串''' 函数体
4函数的调用及嵌套调用常见复习题
4.1 1~100之间所有素数
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(1,101):
if isprime(i):
print(i,end=' ')
4.2 求解一元二次方程
from math import sqrt
def hs1(x1,y1):
s1=-y1/2*x1
return s1
def hs2(x2,y2):
s2=(sqrt(y2))/2*x2
return s2
if __name__ == '__main__':
a,b,c=eval(input('请输入a,b,c:'))
d=b*b-4*a*c
if a==0:
print("不是一元二次方程!")
elif d==0:
x1=hs1(a,b)
print("{0:.2f}".format(x1))
else:
x1=hs1(a,b)+hs2(a,d)
x2=hs1(a,b)-hs2(a,d)
print(int(x1),int(x2))
4.3 求最大公约数
def gcd(x,y):
'''calculate the gcd OF x and y'''
if x
def 函数名([参数表]): '''文档字符串''' 函数体
4函数的调用及嵌套调用常见复习题
4.1 1~100之间所有素数
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(1,101):
if isprime(i):
print(i,end=' ')
4.2 求解一元二次方程
from math import sqrt
def hs1(x1,y1):
s1=-y1/2*x1
return s1
def hs2(x2,y2):
s2=(sqrt(y2))/2*x2
return s2
if __name__ == '__main__':
a,b,c=eval(input('请输入a,b,c:'))
d=b*b-4*a*c
if a==0:
print("不是一元二次方程!")
elif d==0:
x1=hs1(a,b)
print("{0:.2f}".format(x1))
else:
x1=hs1(a,b)+hs2(a,d)
x2=hs1(a,b)-hs2(a,d)
print(int(x1),int(x2))
4.3 求最大公约数
def gcd(x,y):
'''calculate the gcd OF x and y'''
if x
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(1,101):
if isprime(i):
print(i,end=' ')
4.2 求解一元二次方程
from math import sqrt
def hs1(x1,y1):
s1=-y1/2*x1
return s1
def hs2(x2,y2):
s2=(sqrt(y2))/2*x2
return s2
if __name__ == '__main__':
a,b,c=eval(input('请输入a,b,c:'))
d=b*b-4*a*c
if a==0:
print("不是一元二次方程!")
elif d==0:
x1=hs1(a,b)
print("{0:.2f}".format(x1))
else:
x1=hs1(a,b)+hs2(a,d)
x2=hs1(a,b)-hs2(a,d)
print(int(x1),int(x2))
4.3 求最大公约数
def gcd(x,y):
'''calculate the gcd OF x and y'''
if x
def gcd(x,y):
'''calculate the gcd OF x and y'''
if x



