0
点赞
收藏
分享

微信扫一扫

自动化构建平台(七)使用Jenkins+Gitblit/Gitlab构建Java项目并生成镜像推送到Harbor/Nexus

闲嫌咸贤 03-14 10:31 阅读 2

目录

1.介绍

2.可以做的题型

3.实战

3.1求pi的值

在这里插入图片描述

import random #导入random生成随机数

#d定义一个估计pi的函数,传入形参num_saamples
def estimate_pi(num_samples):
    # 定义变量
    inside_circle = 0  #园内点数
    total = 0  #总点数


    #定义for循环,下划线表示在循环中未使用这个变量的值
    #正常for应该是for 变量 in xxx(范围):
    for _ in range(num_samples):
        #定义xy坐标,正方形面积为2*2=4
        x = random.uniform(-1, 1) #random随机函数
        y = random.uniform(-1, 1)

        #求距离
        distance = x ** 2 + y ** 2

        #判断
        if distance <= 1: #园内点
            inside_circle += 1 #园内加一
        total += 1 #循环一次,总点数加一

    pi_estimate = 4 * inside_circle / total #pi的估计值
    return pi_estimate  #这个函数返回的是pi的估计值

num_samples = 100000 #定义循环次数
pi = estimate_pi(num_samples) #求pi的估计值
print("Estimated value of pi:", pi) #打印pi的估计值

3.2求定积分x^2 的值

在这里插入图片描述

import random #导入random

def monte_carlo_integration(func, a, b, num_samples): #定义求取定积分的函数,传入形参func,a,b,numsamples
    total = 0.0 #定义浮点型变量
    for _ in range(num_samples):
        # 定义一个循环,只需要循环,不需要值,用c的话相当于
        #for(int i=0;i<=inum_samples;i++;)

        x = random.uniform(a, b) #产生一个【0,1】的数
        total += func(x)  #算函数值累计求和
    average = total / num_samples #求平均
    integral = average * (b - a) #算面积(积分值)
    return integral #返回积分值

def f(x): #定义一个函数,返回x^2的值
    return x**2

a = 0
b = 1
num_samples = 100000

integral = monte_carlo_integration(f, a, b, num_samples) #形参传入函数的名字,a,b,num_samples
print("The integral of f(x) = x^2 from", a, "to", b, "is approximately:", integral)
举报

相关推荐

0 条评论