用Python计算圆周率
算法:采用蒙特卡洛模拟,其基本思想是,在一个正方形内部画一个圆,然后随机生成大量的点,计算落在圆内的点的数量与总点数的比例,最后通过比例估算π的值
代码:
import random
import math
def estimate_pi(total_points):
inside_circle = 0
for _ in range(total_points):
x = random.uniform(0, 1)
y = random.uniform(0, 1)
distance = math.sqrt(x**2 + y**2)
if distance <= 1:
inside_circle += 1
# 计算进度并显示进度条
progress = (_ + 1) / total_points
bar_length = 50
block = int(round(bar_length * progress))
progress_str = "[" + "*" * block + " " * (bar_length - block) + "]"
print(f"\r{progress_str} {progress*100:.2f}%", end="")
pi_estimate = (inside_circle / total_points) * 4
return pi_estimate
# 设置总点数
total_points = 10000
# 估算π的值
pi_value = estimate_pi(total_points)
# 打印结果
print(f"\n估算的π值为: {pi_value}")
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· 地球OL攻略 —— 某应届生求职总结