import matplotlib.pyplot as plt plt.plot((0,0,2),(2,0,0),color="red") #plt.show() list_x=[] list_y=[] #写一个循环,列表里面写值 a=10000 for i in range(a+1): x=1/a*2*i list_x.append(x) #print(list_x) for i in range(a+1): y=(4-list_x[i]**2)**0.5 list_y.append(y) #print(y) plt.plot(list_x,list_y,color="red") #plt.show() import random huaxian_x=[] huaxian_y=[] random_num=random.randint(2,50) for i in range(random_num+1): x=1/random_num*2*i huaxian_x.append(x) #print(list_x) for i in range(random_num+1): y=(4-huaxian_x[i]**2)**0.5 huaxian_y.append(y) for i in range(random_num+1): plt.plot((huaxian_x[i],huaxian_x[i]),(0,huaxian_y[i]),color="red") plt.show() pi_x=[] pi_y=[] rand=random.randint(10_000_000,20_000_000) for i in range(rand+1): x=2/rand*i pi_x.append(x) for i in range(rand+1): y=(4-pi_x[i]**2)**0.5 pi_y.append(y) pi=0 for i in range(rand): pi=pi+(pi_y[i+1]+pi_y[i])*2/rand/2 print("pi:",pi)
时间: 2024-03-22 14:40:01 浏览: 133
matplotlib.pyplot绘图显示控制方法
5星 · 资源好评率100%
好的,我来逐行解释这段代码:
```python
import matplotlib.pyplot as plt
```
导入 `matplotlib` 库的 `pyplot` 模块,并将其命名为 `plt`,用于画图。
```python
plt.plot((0,0,2),(2,0,0),color="red")
```
绘制一个由三个点组成的直线段,这三个点分别是 `(0, 2)`,`(0, 0)` 和 `(2, 0)`,并将其颜色设置为红色。
```python
list_x=[]
list_y=[]
```
定义两个空的列表 `list_x` 和 `list_y`,用于存储数据。
```python
a=10000
for i in range(a+1):
x=1/a*2*i
list_x.append(x)
```
通过循环,生成一个等差数列,将其存储到 `list_x` 中。具体来说,`range(a+1)` 生成一个从 0 到 a 的整数序列,`1/a` 计算出两个数之间的差值,`2*i` 计算出当前位置的偏移量,从而得到当前位置的值,并将其添加到 `list_x` 中。
```python
for i in range(a+1):
y=(4-list_x[i]**2)**0.5
list_y.append(y)
```
通过循环,计算出每个位置对应的纵坐标,并将其存储到 `list_y` 中。具体来说,`(4-list_x[i]**2)**0.5` 计算出当前位置的纵坐标,从而得到当前位置的值,并将其添加到 `list_y` 中。
```python
plt.plot(list_x,list_y,color="red")
```
绘制一个曲线,横坐标为 `list_x`,纵坐标为 `list_y`,并将其颜色设置为红色。
```python
import random
```
导入 `random` 库,用于生成随机数。
```python
huaxian_x=[]
huaxian_y=[]
random_num=random.randint(2,50)
for i in range(random_num+1):
x=1/random_num*2*i
huaxian_x.append(x)
```
通过循环,生成一个等差数列,将其存储到 `huaxian_x` 中。具体来说,`range(random_num+1)` 生成一个从 0 到 `random_num` 的整数序列,`1/random_num` 计算出两个数之间的差值,`2*i` 计算出当前位置的偏移量,从而得到当前位置的值,并将其添加到 `huaxian_x` 中。
```python
for i in range(random_num+1):
y=(4-huaxian_x[i]**2)**0.5
huaxian_y.append(y)
```
通过循环,计算出每个位置对应的纵坐标,并将其存储到 `huaxian_y` 中。具体来说,`(4-huaxian_x[i]**2)**0.5` 计算出当前位置的纵坐标,从而得到当前位置的值,并将其添加到 `huaxian_y` 中。
```python
for i in range(random_num+1):
plt.plot((huaxian_x[i],huaxian_x[i]),(0,huaxian_y[i]),color="red")
```
通过循环,绘制多个垂直于 x 轴的线段,每个线段的两个端点分别为 `(huaxian_x[i], 0)` 和 `(huaxian_x[i], huaxian_y[i])`,并将其颜色设置为红色。
```python
plt.show()
```
展示所有绘制的图形。
```python
pi_x=[]
pi_y=[]
rand=random.randint(10_000_000,20_000_000)
for i in range(rand+1):
x=2/rand*i
pi_x.append(x)
```
通过循环,生成一个等差数列,将其存储到 `pi_x` 中。具体来说,`range(rand+1)` 生成一个从 0 到 `rand` 的整数序列,`2/rand` 计算出两个数之间的差值,`i` 计算出当前位置的偏移量,从而得到当前位置的值,并将其添加到 `pi_x` 中。
```python
for i in range(rand+1):
y=(4-pi_x[i]**2)**0.5
pi_y.append(y)
```
通过循环,计算出每个位置对应的纵坐标,并将其存储到 `pi_y` 中。具体来说,`(4-pi_x[i]**2)**0.5` 计算出当前位置的纵坐标,从而得到当前位置的值,并将其添加到 `pi_y` 中。
```python
pi=0
for i in range(rand):
pi=pi+(pi_y[i+1]+pi_y[i])*2/rand/2
```
通过循环,计算出圆的面积,并根据其面积公式 $S = \pi r^2$,计算得到圆周率 $\pi$ 的近似值。
```python
print("pi:",pi)
```
输出计算得到的圆周率 $\pi$ 的值。
阅读全文