Python:List的第一个术语不是从0开始

时间:2016-11-22 22:11:26

标签: python python-3.x while-loop simulation

所以我尝试制作一个模拟自由落体的代码几乎全部完成,除了代码从' 1'开始。而不是' 0'。我的代码是:

var aoo = [5,2,4,6,1,3];

function jInsertionSort(a) {
  for(var j=2; j<a.length; j++){
    //console.log(j);
    var key = a[j]; 
    var i = j - 1;
    while (i > 0 && a[i] > key) {
      a[i+1] = a[i]; 
      i = i-1; 
    }
    a[i+1]=key; 
  } 
  return a; 
}

var aooSorted = jInsertionSort(aoo);

console.log("jInsertionSort = ["+aooSorted+"]");

当我运行代码时,列表中的第一个长度&#34; l&#34;是0.000981而不是0我不知道我做错了什么从技术上开始0.01秒后应该是什么。

3 个答案:

答案 0 :(得分:3)

您可以使用一些打印来调试它。通过在流程中使用print,您可以看到正在发生的事情。

没有什么令人惊讶的事,l[0]是:

l[0] = length1 = Dlength + length = velocity1 * deltaT + lenght = 
= (Dvelocity + velocity ) * deltaT + lenght 

关键是

Dvelocity = acceleration * deltaT

非零

答案 1 :(得分:2)

第一个循环中的velocity1不为0,因此length1不为0

答案 2 :(得分:1)

原因是你计算加速度之外的速度和你在第一步中不是0的时间步长,因此第一个长度都不是