目前,我有一个程序,它通过一个向量坐标列表,对两个向量执行一个简单的数学函数,但我想在一个循环内循环,以便能够对发生的事情有更多的控制,这是我目前的程序:
import operator
import numpy as np
b = 0
a = 1
for a in range(0,56):
vector1 = (int(l[b][0]),int(l[b][1]),int(l[b][2]))
vector2 = (int(l[a][0]),int(l[a][1]),int(l[a][2]))
#print vector1
#print vector2
x = vector1
y = vector2
vector3 = list(np.array(x) - np.array(y))
#print vector3
dotProduct = reduce( operator.add, map( operator.mul, vector3, vector3))
print dotProduct
a += 1
但我想要的是,一旦a达到56,并完成最后一次运行,我希望B加上1,a重置回零,然后重做操作循环,直到B上升到55。
期望输出: 坐标示例:
特写46.7176 27.1121 27.1121
特写43.2505 36.0618 32.4879
特写43.3392 36.0964 28.9236
特写43.2509 37.8362 27.1091
特写34.4872 14.1794 16.5767
特写34.4103 16.0364 14.3521
特写:32.7006 14.069 14.412
我想让第一个坐标执行点积和它下面的所有内容,然后返回,然后从第二个坐标开始,执行点积和它下面的所有内容,等等。。
可以执行嵌套for循环。以下是您想要的:
运行这个,看看你得到了什么(在你问另一个问题之前)
对评论中问题的回答:
可以在内部循环中使用
b
作为参数你可以用较小的范围在一个屏幕上查看所有结果
结果:
可以使用while循环而不是for循环:
相关问题 更多 >
编程相关推荐