基本Arduinoc嵌套列表的循环困难
本文关键字:循环 列表 Arduinoc 嵌套 基本 | 更新日期: 2023-09-27 18:16:30
我正在做一个自我arduino项目,试图让我的代码工作在过去3天没有任何成功。我用python编写代码以获得主要思想工作,然后尝试将其重写为基于arduino的系统。
self=[[1.23456,2.23456]]
list=[[1.75087,2.03031],[1.78371,2.04686],[1.78413,2.04696],[1.79346,2.09962]]
counter=0
for i in list:
if abs(self[0]-i[0])<0.00165 and abs(self[1]-i[1])<0.00165:
counter=1
else:
counter=0
print counter
的想法应该是非常简单的,首先你有自我(经度/纬度),和一个嵌套列表列表。for循环应该检查list中的每个元素以及它到self的距离(abs)。
我是c#和arduino的初学者,只是无法获得让它工作的逻辑。
感谢您的帮助。
Arduino的外观是C:
double selfLat = 1.23456;
double selfLon = 2.23456;
double list[4][2] = {
{1.75087,2.03031},
{1.78371,2.04686},
{1.78413,2.04696},
{1.79346,2.09962}
};
int counter=0;
for(int i=0; i<4; i++)
{
int test1 = abs(selfLat - list[i][0]) < 0.00165;
int test2 = abs(selfLon - list[i][1]) < 0.00165;
if ( test1 && test2 ) counter = 1;
}
你的代码很好,除了self应该是一个列表而不是列表的列表。其次,在循环中打印计数器。
self=[1.23456,2.23456]
list=[[1.75087,2.03031],[1.78371,2.04686],[1.78413,2.04696],[1.79346,2.09962]]
counter=0
for i in list:
if abs(self[0]-i[0])<0.00165 and abs(self[1]-i[1])<0.00165:
counter=1
else:
counter=0
print counter