python第四周程序控制之循环,randow库,圆周率的计算

doubinning 2020-01-10

目录


遍历循环,按次数循环,遍历某个结构形成的循环运行方式

for <循环变量> in <遍历结构>:

    <语句块>

每次循环,所获元素放入循环变量,并执行一次语句块;

计数循环:

for i in range(N)#执行n次,每次i+1
    <语句块>

for i in range(M,N,K)#执行特定次,N-M次,步长为K
    <语句块>

字符串遍历循环:

for c in s:#s是字符串,遍历完每个字符截止
    <语句块>

列表遍历循环:

for item in ls :#ls是一个列表,遍历其每个元素
    <语句块>

文件遍历循环

for line in fi:#fi是一个标识符,遍历其每行
    <语句块>

无限循环:

while <条件>:

     <语句块>

保留字,break,continue,同c

高级用法:

while<条件>:
    <语句块>
else:
    <语句块>#for循环一样可以用,若循环里没有发生break退出,即执行else的内容

randow库(产生随机数)

基本随机数函数: seed(种子)产生种子对应的随机数,使结果可复制 random():生成一个0.0到1.0的小数

randint(a,b)产生a-b之间的整数

randrange(m,n[,k]) m-n之间,以k为步长

getrandbits(k)生成一个k比特长的随机数

uniform(a,b),a-b之间的随机小数

choice(seq)从序列中随机选一个数

shuffle(seq)将其中元素随机排列

圆周率的计算:

#蒙特卡洛方法算圆周率
from random import random
from time import perf_counter
DARTS = 1000*10000
hits = 0.0
start = perf_counter()
for i in range(DARTS):
    x,y = random(),random()
    dist = pow(x ** 2 + y ** 2,0.5)
    if dist <= 1.0:
        hits += 1
pi = 4 *(hits/DARTS)
print("圆周率为{}",format(pi))
print(“程序运行的时间为:{}”format(perf_counter()-start))