Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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_Loops_Infinite Loop - Fatal编程技术网

Python 为什么这个简单的循环会产生一个;“神经过敏”;印刷品?

Python 为什么这个简单的循环会产生一个;“神经过敏”;印刷品?,python,loops,infinite-loop,Python,Loops,Infinite Loop,我只是在学习Python,我已经尝试了这个基于Python的简单循环。根据我的基本理解,这应该保持打印“你好”,在同一位置一次打印一个字母。这似乎是事实,但打印不是流动的,它不会在每个字符上花费相同的时间;有些速度非常快,然后它似乎会在一个上卡住一两秒钟 你能解释一下原因吗 while True: for i in ["H","e","l","l","o"]: print "%s\r" % i, 您运行的是一个无限循环,所做的工作非常少,而且大部分都是打印。这种应用程序

我只是在学习Python,我已经尝试了这个基于Python的简单循环。根据我的基本理解,这应该保持打印“你好”,在同一位置一次打印一个字母。这似乎是事实,但打印不是流动的,它不会在每个字符上花费相同的时间;有些速度非常快,然后它似乎会在一个上卡住一两秒钟

你能解释一下原因吗

while True:
    for i in ["H","e","l","l","o"]:
        print "%s\r" % i,

您运行的是一个无限循环,所做的工作非常少,而且大部分都是打印。这种应用程序的瓶颈是您的输出在运行环境(您的控制台)中集成的速度有多快


涉及到各种缓冲区,系统还可以安排其他进程,从而暂停应用程序几个周期。

您的系统还必须执行其他操作,这可能会中断打印频率。还有缓冲区、缓冲区刷新和任务切换等。事实上,我认为这只是“幻觉”,因为你必须“l”,它基本上更多地停留在屏幕上。尝试简单地删除你的
,而true
,它应该会快得多。@MenelionLensúlë:然后在运行
for
循环一次之后就可以完成;这个循环已经足够快了,你根本看不到模式。@HerrActress我很确定情况并非如此。我试过不同的单词和组合。谢谢。因此,是我的系统每隔一段时间暂停一次应用程序。如果它执行一些艰难的计算,这种情况还会发生吗?另外,我是否可以通过赋予应用程序更高的优先级来消除这种暂停?这在所有进程中都会发生,但随着I/O的快速变化,这种情况更加明显。不,除非您为实时操作系统重新编程,否则无法消除暂停;多任务操作系统总是会引入一些延迟。