当前位置: 首页 > 面试题库 >

python`print`不能循环工作

牛兴安
2023-03-14
问题内容

我在一起有多个循环,而在最内部的循环中有一个睡眠。例如:

from time import sleep

for i in range(10):
    print i,
    for j in range(-5,5):
        if j > 0:
            print '.',
        else:
            print 'D',
        sleep(1)
    print ''

如果您运行该代码,则可能需要i等待D1秒钟D然后再次休眠直到结束,才能获得价值。

但是结果是不同的,它等待10秒钟并打印整行,0 D D D D D D . . . .然后再次等待打印下一行。

我发现打印末尾的逗号导致了此问题。我该如何解决?


问题答案:

由于存在逗号,因此输出缓冲到a为止\n

您应stdout在每次打印或使用后冲洗sys.stdout.write并冲洗缓冲区。

定义您的打印方法

import sys

def my_print(text):
    sys.stdout.write(str(text))
    sys.stdout.flush()

在行的末尾打印一个 \n



 类似资料:
  • 这在python 3中有效,但在python 2(版本2.7)中会发出一个ImportError: Shell命令: mymodule/__init__.py MyModule/X.py MyModule/y.py 但这只适用于Python3,而不适用于Python2(因为相同的ImportError)。 在Python2中使其工作的唯一方法是使用具有以下不推荐符号的相对导入: 我真的不喜欢它,因

  • 问题内容: 我有以下代码- 但这给了我输出- 我不明白这一点,为什么不消除它,但是在这种情况下我只尝试了一种。当我最后添加少量内容时,我不会从中删除。为什么? 问题答案: 删除第一个“ Meg”时,即为索引。然后增加,但是由于“ Meg”之一已被删除,因此现在是“ Brain”。因此,您实际上没有检查第二个“ Meg”。 解决问题。您可以在删除元素时减少索引:

  • 我有一个简单的剪辑方法,来回放小wav的声音。是的,我现在找到了clip.loop()方法,但无论如何,我不明白为什么我的方法不能工作。 代码如下: 谢谢!

  • 这个方法的问题是它总是返回零。看起来没有使用它的参数。然而,如果我按照下面的方式来写,那么一切都运行得很好。有没有人知道为什么第一种方法不起作用?

  • 我想做的是制作一个快速而肮脏的幻灯片。我的想法是让master div包含一个空白的“master”img标记和一组div,每个div都包含自己的img和span标记。每个图像的源依次设置为主img的源。因此,我开始迭代每个图像,并尝试使用setTimeout()和2秒延迟将其源设置为主img的源。我遇到的问题是,编写代码似乎要等待两秒钟,并且只显示序列中的最后一幅图像。 如果我能得到第二双眼睛来