基本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的初学者,只是无法获得让它工作的逻辑。

感谢您的帮助。

基本Arduinoc嵌套列表的循环困难

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