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 に答える