2012-06-30 34 views
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() 

我試圖跨越整個命令提示符顯示,基本上嘗試矩陣效果,怎麼辦我去了解這個..

看看截圖:http://i.imgur.com/J4p58.png

所有我想知道的是,如果它能夠同時對所有列縱向打印,然後字符在下降(不水平)

+0

「我試圖在整個cmd提示符上跨越顯示屏,」......你是什麼意思? –

+0

我的意思是輸出短語覆蓋了整個cmd提示窗口......上面的顯示在一行上,我想要在窗口中重複相同的事情。 – Whiskey

+2

你不需要做'list(「text」)'...一個字符串可以在Python中迭代。在「你好!」中輸入char:print(char)'。如果你正在嘗試打印多個字符串:'(「hello」,「hi」,「你好嗎」):print(strng)'。 – C0deH4cker

回答

1

By default, print includes a newline
您可以通過在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() 
+0

對不起,我認爲我不能清楚地解釋.... 我想與傳遞的字符串創建一個矩陣效果...字符串爲「#1」,我想 SSSSS TTTTT ATTTT CCCCC KKKKK ooooo ......... 等等..所有在同一時間下降..穿過窗口 – Whiskey

+0

請看看這.. http://i.imgur.com/ J4p58.png我希望字符從上到下垂直落下..一次...... – Whiskey

+0

好的。謝謝你的澄清。我發佈的代碼產生預期的輸出。但是,它不按照您指定的順序。我不知道任何以這種順序產生輸出的東西。 – bernie

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