Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用Python跨越高度_Python - Fatal编程技术网

用Python跨越高度

用Python跨越高度,python,Python,我正在尝试运行一个Python脚本,该脚本计算一个对象从地面到100000米以上然后再回到100000米以下的轨迹。我想计算出在100000米以上要花多少时间。我的轨迹代码很好(龙格库塔),我可以飞到100000米。然而,我无法找出正确的Python算法来保持上升到最高高度,并开始下降到100000米以下 以下是我所拥有的: while(states[4,(i-1)]>=100000,states[4,i]我认为这里的问题是,你需要跟踪你穿越高度的时间。为什么不在循环之前将变量设置为false,

我正在尝试运行一个Python脚本,该脚本计算一个对象从地面到100000米以上然后再回到100000米以下的轨迹。我想计算出在100000米以上要花多少时间。我的轨迹代码很好(龙格库塔),我可以飞到100000米。然而,我无法找出正确的Python算法来保持上升到最高高度,并开始下降到100000米以下

以下是我所拥有的:


while(states[4,(i-1)]>=100000,states[4,i]我认为这里的问题是,你需要跟踪你穿越高度的时间。为什么不在循环之前将变量设置为false,然后在达到>=100000时设置为true,并将其添加到while中。此外,这些条件是为了离开循环,所以你应该将其取反

reachedHeight = False
while (not (reachedHeight and states[4,(i - 1)] >= 100000 and states[4,i] <= 100000)):
  if (not reachedHeight and states[4,i] >= 100000):
    reachedHeight = True
  ...
reachedHeight=False
而(未达到高度且状态[4,(i-1)]>=100000且状态[4,i]=100000):
达到高度=真
...

也可能是一个循环内有中断的条件。

我认为这里的问题是,你需要跟踪你穿越高度的时间。为什么不在循环前将变量设置为false,然后在达到>=100000时设置为true,并将其添加到while中。另外,这些条件是为了离开你的循环,所以你应该否定它

reachedHeight = False
while (not (reachedHeight and states[4,(i - 1)] >= 100000 and states[4,i] <= 100000)):
  if (not reachedHeight and states[4,i] >= 100000):
    reachedHeight = True
  ...
reachedHeight=False
而(未达到高度且状态[4,(i-1)]>=100000且状态[4,i]=100000):
达到高度=真
...

也可以是一个条件,循环中有一个中断。

上面的
while
循环将继续循环,除非
声明[4,i]
正好等于100000

False和False或True==True


这可能就是您遇到无限循环的原因。您可能希望删除第三种情况,如有必要,在循环内执行其他检查。

上述
循环将继续循环,除非
声明[4,i]
正好等于100000

False和False或True==True


这可能就是您遇到无限循环的原因。您可能希望删除第三种情况,如有必要,在循环内执行其他检查。

状态[4,i]!=100000
意味着让我到达该高度”……怎么回事?
!=
是不相等的比较运算符,而不是赋值运算符。”
状态[4,i]!=100000
是为了让我达到那个高度“……怎么会这样?
!=
是不相等的比较运算符,而不是赋值运算符。