使用turtle库不要使用matplotlib库
时间: 2023-07-11 07:45:50 浏览: 158
好的,如果不使用 `matplotlib` 库,我们可以使用 Python 自带的 `turtle` 库来绘图。具体实现方法如下:
```python
import random
import math
import turtle
def drawpi(darts):
hits = 0
turtle.speed(0)
turtle.penup()
turtle.goto(-200, -200)
turtle.pendown()
turtle.color('blue')
turtle.begin_fill()
for i in range(4):
turtle.forward(400)
turtle.left(90)
turtle.end_fill()
turtle.color('white')
turtle.penup()
turtle.goto(0, 0)
turtle.pendown()
turtle.dot(5)
for i in range(darts):
x, y = random.random() * 200, random.random() * 200
turtle.penup()
turtle.goto(x, y)
turtle.pendown()
if math.sqrt(x * x + y * y) <= 200:
hits += 1
turtle.color('red')
turtle.dot(2)
else:
turtle.color('green')
turtle.dot(2)
pi = 4 * hits / darts
turtle.penup()
turtle.goto(-190, 220)
turtle.pendown()
turtle.color('black')
turtle.write('PI = {}'.format(pi))
turtle.hideturtle()
turtle.done()
```
这个函数和之前的实现方法类似,只是使用了 `turtle` 库来绘图。具体来说,我们首先绘制了一个蓝色的矩形,表示正方形的边界。然后,我们在正方形的中心位置绘制了一个白色的点,表示圆心。接着,我们使用 `random` 库生成随机的点,并计算它们到圆心的距离。如果距离小于等于半径,表示这个点在圆内,我们就将它绘制成红色的点;否则,表示这个点在圆外,我们就将它绘制成绿色的点。最后,我们根据落在圆内的点的个数计算出 PI 的值,并在屏幕上输出。
你可以将这个函数保存到一个名为 `pi.py` 的文件中,然后在命令行中执行以下代码:
```python
import pi
MaxPrime = 0
for i in range(1, 5001):
if pi.isPrime(i):
MaxPrime = i
print("最大素数为:", MaxPrime)
pi.drawpi(MaxPrime)
```
这个代码片段首先遍历 1 到 5000 的所有数,找到其中最大的素数,然后将其作为参数调用 `drawpi` 函数进行模拟和绘制。最后,输出最大素数的值。
阅读全文