每秒钟,数字可以上下移动1,这来自api。你知道吗
假设数字从0开始,一直到100。 当它逐渐降到50时,我就会停止程序。你知道吗
所以,每当这个数从任何一个起始数开始先增加,在某个数达到峰值,然后发现它减少了-50,就像上面的例子(100-50=50),我必须停止它。我试图在代码中实现这个,但需要一些帮助。你知道吗
starting_number = self.api.get_current_number()
current_peak_number = 0
count = 0
has_initially_increased = False
While True:
current_number = self.api.get_current_number()
if has_initially_increased is False:
if current_number > starting_number:
current_peak_number = current_number
has_initially_increased = True
pass
else:
break
else:
if current_peak_number <= current_number:
current_peak_number = current_number
else:
gap = current_peak - current_number
if gap == 50:
break
count += 1
time.sleep(1)
我发现这是可以改进或纠正的。你知道吗
我发现你的代码有一些问题:
在else分支中
has_initially_increased
从不设置为True
(第一个if/else级别)。由于has_initially_increased
被初始化为False
,if语句中的代码块将永远不会被执行。如果你修复了第一个点,如果
current_number
低于starting_number
,这将终止循环,但这并不意味着你的条件得到了满足(达到一个给定的峰值,然后降低到50的下限值)。为什么要在这里休息?中断的另一个条件是最高峰值和当前值之间的差值为50,但没有检查是否达到预期峰值。
最后,您的
count
变量的用途是什么?这个好像根本没用。你知道吗相关问题 更多 >
编程相关推荐