如何制定终止追加的条件?
How to make a condition to terminate appending?
我正在编写一个代码来绘制 Python 中不同 theta 值的几个射弹轨迹。
theta = np.arange(np.pi/6, np.pi/3)
t = np.linspace(0,2,num=100)
while y0>=0:
for i in theta:
x = []
y = []
for k in t:
x0= v_0*np.cos(i)*k
y0= v_0*np.sin(i)*k - 1/2*g*(k**2)
x.append(x0)
x.append(y0)
在形成数组并放入射弹的必要条件后,我使用了一个while循环将终止指令放入程序中。我想,我错过了一个关键点。谢谢!
我认为您希望终止条件位于最内层循环中。见下文,其中我还定义了几个缺失的常量(v_0
、g
)并将一个 x
固定为 y
。同时打印结果
theta = np.arange(np.pi/6, np.pi/3)
t = np.linspace(0,2,num=100)
v_0 = 1
g=10
for i in theta:
x = []
y = []
for k in t:
x0= v_0*np.cos(i)*k
y0= v_0*np.sin(i)*k - 1/2*g*(k**2)
x.append(x0)
y.append(y0)
if y0 < 0: # the main change here. Stop looping when y_0 below zero
break
print(f'theta:{i}')
print(f'x:{x}')
print(f'y:{y}')
生产
theta:0.5235987755982988
x:[0.0, 0.017495462702715934, 0.03499092540543187, 0.052486388108147805, 0.06998185081086374, 0.08747731351357968]
y:[0.0, 0.008060401999795939, 0.012039587797163551, 0.011937557392102841, 0.007754310784613805, -0.0005101520253035577]
绘制它(y vs x),看起来很合理
还值得注意的是,你对 theta = np.arange(np.pi/6, np.pi/3)
的定义看起来很奇怪,你想在这里实现什么?
我正在编写一个代码来绘制 Python 中不同 theta 值的几个射弹轨迹。
theta = np.arange(np.pi/6, np.pi/3)
t = np.linspace(0,2,num=100)
while y0>=0:
for i in theta:
x = []
y = []
for k in t:
x0= v_0*np.cos(i)*k
y0= v_0*np.sin(i)*k - 1/2*g*(k**2)
x.append(x0)
x.append(y0)
在形成数组并放入射弹的必要条件后,我使用了一个while循环将终止指令放入程序中。我想,我错过了一个关键点。谢谢!
我认为您希望终止条件位于最内层循环中。见下文,其中我还定义了几个缺失的常量(v_0
、g
)并将一个 x
固定为 y
。同时打印结果
theta = np.arange(np.pi/6, np.pi/3)
t = np.linspace(0,2,num=100)
v_0 = 1
g=10
for i in theta:
x = []
y = []
for k in t:
x0= v_0*np.cos(i)*k
y0= v_0*np.sin(i)*k - 1/2*g*(k**2)
x.append(x0)
y.append(y0)
if y0 < 0: # the main change here. Stop looping when y_0 below zero
break
print(f'theta:{i}')
print(f'x:{x}')
print(f'y:{y}')
生产
theta:0.5235987755982988
x:[0.0, 0.017495462702715934, 0.03499092540543187, 0.052486388108147805, 0.06998185081086374, 0.08747731351357968]
y:[0.0, 0.008060401999795939, 0.012039587797163551, 0.011937557392102841, 0.007754310784613805, -0.0005101520253035577]
绘制它(y vs x),看起来很合理
还值得注意的是,你对 theta = np.arange(np.pi/6, np.pi/3)
的定义看起来很奇怪,你想在这里实现什么?