该代码运用Leibniz公式(也称为莱布尼茨级数)来快速计算圆周率的近似值。该公式可以通过下面代码实现:
# 导入所需模块
import ssd1306
from machine import Pin,I2C
# 初始化OLED屏
i2c=I2C(scl=Pin(16),sda=Pin(17))# 改为您的oled屏引角
led=ssd1306.SSD1306_I2C(128,64,i2c)
led.font_load("GB2312-16.fon")# 不使用字库,可删除
led.fill(0)
# 计算圆周率函数
def calculate_pi(iterations):
pi=0
sign=1
for i in range(iterations):
term=sign/(2*i+1)
pi+=term
sign=-sign
return 4*pi
# 调用函数估计圆周率,传入一个大的迭代次数来增加估计的准确性
pi=calculate_pi(200000)
led.text("估计的圆周率为:",2,0)
led.text(str(pi),2,13)
led.show()