0

这就是我想要做的,我正在使用命令提示符

import time

mess = list("StackOverflow")
def myFunc():
  for i in xrange(1000):
      for k in mess:
          print k
          time.sleep(0.1)


if __name__ == '__main__':
    myFunc()

我正在尝试跨越 cmd 提示符的显示,基本上尝试矩阵效果,我该怎么做..

看一下截图:http: //i.imgur.com/J4p58.png

我想知道的是,是否可以一次在所有列上垂直打印,然后字符下降(不是水平)

4

2 回答 2

1

默认情况下,print包括一个换行符。您可以通过在语句
末尾添加逗号来指定它不这样做。print

然后,至少在我的系统上,您遇到了缓冲输出的问题。
所以我包括了一个刷新标准输出的调用。

import sys, time

mess = "StackOverflow"
def myFunc():
  for i in xrange(1000):
      for k in mess:
          print k,
          sys.stdout.flush()
          time.sleep(0.1)

if __name__ == '__main__':
    myFunc()

Python 3 的等效代码:

import sys, time

mess = "StackOverflow"
def myFunc():
  for i in range(1000):
      for k in mess:
          print(k, end=" ")
          sys.stdout.flush()
          time.sleep(0.1)

if __name__ == '__main__':
    myFunc()
于 2012-06-30T19:26:06.537 回答
0

编辑:如果您只想像这样打印出来,那么只需执行以下操作:

import sys

strng = "S t a c k O v e r f l o w"
for i in range(10000):
    sys.stdout.write(strng)

您是否尝试过简单地这样做?

import time, sys

stackOverflow = "stackoverflow"

for i in range(10000):
    for char in stackOverflow:
        for j in range(3):
            sys.stdout.write(char + " ")
            time.sleep(0.1)

    print("") #Newline
于 2012-06-30T19:29:12.667 回答