Python 在 while 循环后打印,涉及 sleep 语句

问题描述 投票:0回答:1

我编写了这个函数来对整数进行简单的半程搜索,作为练习题。当我运行它时,我希望这些打印语句在每个 while 循环后触发,但是它似乎会停止,直到找到正确的答案,然后快速连续打印每个语句。这与睡眠声明有关还是我在这里遗漏了一些东西?

def start_search(self):
        check_count = 1
        # loop a search function of some kind
        while not self.upper_bound == self.target_number:
            time.sleep(0.01)
            # get middle
            middle = self.get_half(self.lower_bound, self.upper_bound)
            print(f"checking between {self.lower_bound} and {self.upper_bound}")
            # check if target higher or lower than middle
            if middle > self.target_number:
                print(f"Midpoint of {middle} is higher,")
                self.upper_bound = middle
            elif middle < self.target_number:
                print(f"Midpoint of {middle} is lower,")
                self.lower_bound = middle
            else:
                print(f"Found value at midpoint {middle} after {check_count} check(s)")
                self.upper_bound = middle
            check_count += 1
python while-loop sleep
1个回答
0
投票

这与睡眠根本没有关系。感谢@MatsLindh,调试器清楚地表明这是一个不同的函数使程序停止运行。程序很简单,所以我猜错了,是这个函数拖延了一切。

使用调试器。

© www.soinside.com 2019 - 2024. All rights reserved.