假设有个飞人,一开始在xyz坐标轴平面的原点(0,0,0)处。
每过一秒,它会随机地往一个方向北(y正半轴)南(y负半轴)东(x正半轴)西(x负半轴)上(z正半轴)下(z负半轴)飞n个单位长度(n取值范围是1-10, 包括10)不能飞到z<0处,若z<0则不飞
1.记录过了1秒, 2秒, 100000秒后,它距离原点的矩离s
2.把距离和时间的关系画出来(二维平面图,x轴为时间,y轴为距离)
3.把它的高度变化(z方向的变化)画出来
4.把它的路线投影在xy平面上画出来(x-y)
把程序运行5次,把15张图按顺序贴到word里,并说明这是第几次运行,其中,不要给定随机数种子。
import random
import matplotlib.pyplot as plt
x=0
y=0
z=0
distance=[]
height = []
xPos=[]
yPos=[]
for i in range(10000):
mydir = random.randint(1,6)
if mydir == 1:
x+=1
elif mydir == 2:
y+=1
elif mydir == 3:
x-=1
elif mydir == 4:
z+=1
elif mydir == 5:
x-=1
else:
if z>0:
z-=1
else:
pass
distance.append((x**2+y**2+z**2)**0.5)
height.append(z)
xPos.append(x)
yPos.append(y)
plt.plot(range(10000),distance)
plt.show()
plt.plot(range(10000),height)
plt.show()
plt.plot(xPos,yPos)
plt.show()
# plt.close()