我有以下代码:
{{1}}
A,B,C和D的值固定为0.1,0.01,0.01,0.00009。 pred是20,猎物是1000.我试图计算出pred成为0所需的时间(整数,不是浮点数),然后显示那个时间。
逻辑上,我可以认为它是从0开始运行公式...如果pred大于0而不是重复,直到pred为0或小于0来停止并显示时间。不确定我做错了什么。
请尽量保持基本。我希望能够使用带有条件语句的for循环并使用Python 2.7语法来完成它。
编辑:对不起,如果有什么事让人困惑。我想计算循环运行的时间段(在这种情况下将是迭代次数),直到pred等于0.但是,一旦它等于0,则应该将pred视为0。 1甚至0.999都是0。答案 0 :(得分:0)
这是我手机上的一个草率回答:
if flag.NArg() < minArgs {
// do something
...
}
道歉,如果这种答案有点缺乏,因为我没有可用的IDE来验证我的语法。
答案 1 :(得分:0)
你应该使用while循环。如果设置doc = {
1: {
5: {
end: [8,9,10]
},
7: {
end: [11,14,42]
},
end: [81, 13, 42]
}
}
time_counter = 0
这将持续到time_counter = 0
while pred > 0:
prey, pred = int(prey*(1+A-B*pred)), int(pred*(1-C+D*prey))
time_counter +=1
print time_counter
。虽然它不会计算函数的时间,而是计算pred <= 0
pred
所需的循环次数
答案 2 :(得分:0)
实际上,while循环工作但是我需要在公式运行之前添加int标签才能进行适当的评估。否则,我会进入大于0的非常微小的值(想想1 * 10 ^ -9),一旦它无法处理小值,程序就会结束。
答案 3 :(得分:-1)
这就是我要做的事情:
time_counter = 0
while pred > 0:
prey, pred = prey*(1+A-B*pred), pred*(1-C+D*prey)
print prey, pred
time_counter +=1
print time_counter