Python程序设计基础教程(微课版第2版)3.5 综合实例_第1页
Python程序设计基础教程(微课版第2版)3.5 综合实例_第2页
Python程序设计基础教程(微课版第2版)3.5 综合实例_第3页
Python程序设计基础教程(微课版第2版)3.5 综合实例_第4页
Python程序设计基础教程(微课版第2版)3.5 综合实例_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

利用蒙特卡罗方法计算圆周率等案例综合实例CHAPTER301案例3-24&3-25

02案例3-26&3-27&3-28

03案例3-29&3-30CONTENTS目

录综合实例样

本样

本样

本样

本样

本样

本系

蒙特卡罗方法计算的值综合实例非常强大灵活简单易懂容易实现最简单的计算方法唯一可行的方法综合实例边

径综合实例面积之比

π/4圆的面积(πr2)正方形面积(4r2)综合实例随机产生10000个点:10000个坐标对(x,y)计算它们与中心点的距离,判断是否落在圆的内部如果这些点均匀分布,那圆内点应该占到所有点的π/4将这个比值

π/4

乘以4,就是

π

的值综合实例01

#pi.py02

fromrandomimportrandom03

n=1000004

N=005

foriinrange(1,n):06

x,y=random(),random()#random()函数用于生成一个0到1之间的随机数07

dis=pow(x**2+y**2,0.5)#pow(a,b)函数返回a的b次幂08

ifdis<=1:09

N=N+110

pi=4*N/n11print("圆周率为{}".format(pi))【例3-24】

利用蒙特卡罗方法计算圆周率程序代码如下

程序注释

导标准模块

给n赋值

0

赋值

N

for

循环

生成随机数pow()函数

条件判断

N

增加

1

计算得pi

打印输出

综合实例

斐波那契数列斐波那契数列(Fibonaccisequence),又称黄金分割数列综合实例

斐波那契数列莱昂纳多·斐波那契兔子繁殖为例综合实例F(0)=0(n=0)F(1)=1(n=1)F(n)=F(n-1)+F(n-2)(n>=2)

斐波那契数列递归的方法定义综合实例01

#fibonacci.py02

i,j=0,103

whilei<10000:04

print(i)05i,j=j,i+j【例3-25】

实现一个斐波那契数列的程序代码

程序注释

赋值语句

条件判断

打印输出

赋值语句

综合实例01

#prime_all.py02

importmath03

i=004

forninrange(100,201):05

prime=106

k=int(math.sqrt(n))#sqrt(n)方法返回数字n的平方根07

foriinrange(2,k+1):08

ifn%i==0:09

prime=010

ifprime==1:11

print("%d是素数"%n)【例3-26】

求出100~200之间的所有素数(素数只能被1和该数本身整除)

程序注释

导入模块

把0赋值i

for

循环

prime赋值

n

的平方根

for

循环

条件判断

prime赋值

条件判断

打印输出

综合实例01

#triangle1.py02

num=int(input("请输入打印行数:"))03

foriinrange(num):04

tab=False#控制是否换行05

forjinrange(i+1):06

print('*',end='')#打印星号,不换行07

ifj==i:08

tab=True#控制是否换行09

iftab:10print('\n',end='')#换行【例3-27】

打印出如下效果的实心三角形

程序注释

输入转整形外层for循环False赋

tab内层for循环

打印输出

if

条件判断tab设为True

if

条件判断

打印输出

*******************************************************综合实例01

#triangle2.py

02

num=int(input("请输入打印行数:"))03

foriinrange(num):04

tab=False#控制是否换行05

forjinrange(i+1):06

#判断是否最后一行07

ifi!=num-1:08

#循环完成,修改换行标识符09

ifj==i:10

tab=True11

#判断打印空格还是*12

if(i==jorj==0):13

print('*',end='')#打印星号,不换行14

else:15

print('',end='')#打印空格,不换行16

#最后一行,全部打印星号17

else:18

print('*',end='')#打印星号,不换行19

iftab:20

print('\n',end='')#换行【例3-28】

打印出如下效果空心三角形程序注释输入数字外层for循环tab设False程序注释条件判断程序注释条件判断tab设True程序注释条件判断打印输出else

分支打印输出程序注释else

分支打印输出条件判断打印输出***************************综合实例100元10元5元1元

100元的人民币等值换币组合综合实例01

#money.py02

foriinrange(100//1+1):03

forjinrange((100-i*1)//5+1):04

forkinrange((100-i*1-j*5)//10+1):05

ifi*1+j*5+k*10==100:06

print("1元%d张,5元%d张,10元%d张"%(i,j,k))【例3-29】

将一张面值为100元的人民币等值换成10元、5元和1元的零钞的组合

程序注释

for

循环

for

循环

for

循环

条件判断

打印

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论