Python蒙特卡罗仿真方法求解概率问题

本文探讨如何使用Python的蒙特卡罗仿真方法解决(0,1)区间内两个随机数差值小于0.5的概率问题。通过导入random模块并利用其函数,我们可以进行大量随机试验以逼近这一概率。" 136096349,10438595,深度学习驱动的航拍图像地物变化检测,"['人工智能', '深度学习', '航拍地图', '地物变化', '变化检测']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在(0,1)区间随机取两个数,求他们的差值小于0.5的概率?

import random
i = 0
n = num = eval(input("输入循环的次数:"))
while n > 0:
    m = [random.uniform(0, 1), random.uniform(0, 1)]
    print(m)
    if -0.5 < m[0]-m[1] < 0.5:
        i = i+1
    n = n-1

p = i/num
print(p)

在Python3.x版本中 input() 函数接受一个标准输入数据,返回为 string 类型。
而 eval() 函数用来执行一个字符串表达式,并返回表达式的值。组合用于获取控制台的输入。1

注意:random()是不能直接访问的,需要导入 random 模块,然后通过 random 静态对象调用该方法。
import random

random() 函数中常见的函数:

print( random.randint(1,12) )        # 产生 112 的一个整数型随机数  
print( random.random() )             # 产生 01 之间的随机浮点数
print( random.uniform(0,1) )     # 产生  01 之间的随机浮点数,区间可以不是整数
print( random.choice('Monday','Tuesday') )   # 从序列中随机选取一个元素
print( random.randrange(1,100,2) )   # 生成从1100的间隔为2的随机整数

  1. input() 和 raw_input() 这两个函数均能接收 字符串 ,但 raw_input() 直接读取控制台的输入(任何类型的输入它都可以接收)。而对于 input() ,它希望能够读取一个合法的 python 表达式,即你输入字符串的时候必须使用引号将它括起来,否则它会引发一个 SyntaxError 。
    下附菜鸟教程函数详解
    python eval() 函数
    python input() 函数
    python random()函数 ↩︎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值