斐波那契函数5-1
def fib(n):
a,b=1,1
while a<n:
print(a,end=' ')
a,b=b,b+1
print()
fib(1000)
斐波那契数列生成器函数5-3
def f():
a,b=1,1
while True:
yield a
a,b=b,a+b
a=f()
for i in range(10):
print(next(a),end=' ')
for i in f():
if i>100:
print(i,end=' ')
break
蒙特卡洛计算圆周率近似5-17(可能性大)
from random import random
def estimatePI(times):
hits=0
for i in range(times):
x= random()*2-1
y= random()*2-1
if x*x+y*y<=1:
hits+=1
return 4.0*hits/times
print(estimatePI(10000))
data.txt中若干行整数,每行一个整数,编写程序读取所有整数,后降序排列存入data_desc.txt。9-3(重要)
with open('data.txt','r')as fp:
data=fp.readlines()
data=[int(item)for item in data]
data.sort(reverse=True)
data=[str(item)+'\n' for item in data]
with open('data_desc.txt','w') as fp:
fp.writelines(data)
递归法遍历指定目录下所有子目录和文件。9-5(重要)
from os import listdir
from os.path import join,isfile,isdir
def listDirDepthFirst(directory):
for subPath in listdir(directory):
path=join(directory,subPath)
if isfile(path):
print(path)
elif isdir(path):
print(path)
listDirDepthFirst(path)