用python做圆周率π的可视化实验,前进每位数字对应格数再右转,用turtle库画出图像

简介:

内容如标题:我们可以使用Python的turtle库来进行圆周率π的可视化实验,并通过前进每位数字对应的格数再右转的方式来绘制圆周率π的图像。

具体实现:

1、首先是生成π的前面一些数字

def compute_pi(n):
    pi = 0
    for k in range(n):
        pi += (1/pow(16, k)) * ((4/(8*k+1)) - (2/(8*k+4)) - (1/(8*k+5)) - (1/(8*k+6)))
    return str(pi)[2:]  # 去除整数部分和小数点

# 生成π的前10000位数字
pi_digits = compute_pi(10000)

# 将pi_digits保存到文件
with open("pi_digits.txt", "w") as file:
    file.write(pi_digits)

2、然后用turtle库画出来

import turtle

def draw_pi_visualization(pi_digits):
    turtle.speed(0)
    turtle.penup()
    turtle.setup(80, 50)
    turtle.goto(-200, 0)
    turtle.pendown()

    for digit in pi_digits:
        if digit.isdigit():
            forward_distance = int(digit) * 5  # 每位数字对应的前进距离
            turtle.forward(forward_distance)
            turtle.right(90)
        else:
            continue

    turtle.done()

# 读取pi_digits.txt文件中的π的前10000位数字
with open("pi_digits.txt", "r") as file:
    pi_digits = file.read()

# 绘制π的可视化
draw_pi_visualization(pi_digits)

3、我取了π的前10000位数,结果大概是这样:

 以上为全部内容!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值