2016-10-17 41 views
0

我有一個實現這個python算法到arduino的問題。幫我做..這段代碼如何轉換爲arduino

def Process(lst): 
    for k in range(len(lst)): 
     for i in range(len(lst)-1): 
      if abs(lst[i]-lst[i+1])==2 and lst[i+1]!=0: 
       for j in range(i,len(lst)-2): 
        lst[j]=lst[j+2] 
       lst[-1]=lst[-2]=0 
    return(lst) 
+0

歡迎來到Stack Overflow!請參閱[問]和[mcve]。 – Mat

+0

請嘗試自己動手,並在代碼存在特定問題時提出問題。這裏沒有人會爲你做,但每個人都會幫你自己做:) –

回答

0

一些想法,讓你開始: 你真的沒有在名單上的Arduino℃。你可以使用的數據結構是一個數組。有關更多信息,請參閱https://www.arduino.cc/en/Reference/Array

將數組傳遞到例如函數是通過指向數組的第一個元素的指針完成的。由於沒有足夠的信息來確定數組的大小,因此通常還會提供大小/數量的元素。這導致功能的可能的簽名:

int* process(int* lst, int numberOfElements) { ... }  

range(n)在Python返回0所有數字到n-1。爲了在C中做同樣的事情並遍歷數組的元素,你基本上從0循環到numberOfElements-1。然後,您可以通過索引訪問陣列中的元素,例如:

for(int i = 0; i < numberOfElements; i++) { 
    (...) 
    lst[i] = lst[j + 2]; 
} 

希望這是足夠的信息來幫助您入門。