我正在編寫一個應該在控制檯上打印文本的代碼,每個字母都應該稍微延遲一段時間。我試過類似這樣的東西Python代碼,控制檯文本上的時間延遲
from time import sleep
print "H", sleep(0.1), "e", sleep(0.1), "l", sleep(0.1), "l", sleep(0.1), "o"
但它會隨機放置「無」。我該怎麼辦? 請幫助:?:
我正在編寫一個應該在控制檯上打印文本的代碼,每個字母都應該稍微延遲一段時間。我試過類似這樣的東西Python代碼,控制檯文本上的時間延遲
from time import sleep
print "H", sleep(0.1), "e", sleep(0.1), "l", sleep(0.1), "l", sleep(0.1), "o"
但它會隨機放置「無」。我該怎麼辦? 請幫助:?:
sleep
返回無,打印出來。你可以print
沒有一個換行符,然後將每個字符睡覺:
import sys
from time import sleep
for c in "Hello":
print c, # note the comma
sleep(0.1)
print # the final newline
,但爲了避免其間的空間,你必須做這樣的事情:
import sys
from time import sleep
for c in "Hello":
sys.stdout.write(c)
sleep(0.1)
sys.stdout.write('\n')
您的環境
Depeding,您可能需要也刷新標準輸出緩衝區:
import sys
from time import sleep
for c in "Hello":
sys.stdout.write(c)
sys.stdout.flush()
sleep(0.1)
sys.stdout.write('\n')
sys.stdout.flush()
您需要使用單獨的打印做到這一點:
from time import sleep
print "H",
sleep(0.1)
print "e",
sleep(0.1)
# ...
請注意,使用像這樣的打印將在字符之間留下一些空白。
您看到None
打印的原因是因爲sleep
返回None
並且您的腳本嘗試打印sleep
返回的內容。
okey,謝謝你:D – user2245252 2013-04-04 14:28:04
謝謝,應該這樣做:D – user2245252 2013-04-04 14:27:24