如何让While True行运行得慢一点
我喜欢用Python进行探索,最近看了《黑客帝国》,所以我想尝试一些东西。
假设我打算这样做:
While True:
print ("010101010101010101")
print ("101010101010101010")
如果你运行这个代码,它会不停地打印,直到你手动停止它。你还会发现数字因为打印得太快而混在一起了。
我并不是想让它每秒运行一次,而是希望它能稍微慢一点。有没有人能告诉我该用什么函数或者怎么做?
2 个回答
0
import string
import time
tab = string.maketrans("01","10")
binx = "010101010101010101"
while True:
binx = binx.translate(tab)
print binx
time.sleep(0.2)
当然可以!请把你想要翻译的内容发给我,我会帮你用简单易懂的语言解释清楚。
1
这个代码会一个一个字符地打印出一个字符串,同时还会模拟打字的感觉,在每个字符之间随机等待0.1到0.2秒的时间:
import random
import time
import sys
def slowprint(str):
for letter in str:
sys.stdout.write(letter)
sys.stdout.flush()
time.sleep(random.random() * 0.1 + 0.1)
print ''
然后可以这样使用它:
while True:
slowprint("010101010101010101")
slowprint("101010101010101010")
其实挺有意思的,可能性是无穷无尽的:
message = "all work and no play makes jack a dull boy"
while True:
print ' ' * random.randrange(15), # indent chaotically
slowprint("".join(random.choice([c.upper(), c]) for c in message))
输出结果
aLl wORk And nO PLAy maKEs JacK A DULL BoY
ALl wOrK and No pLay MAkEs Jack A dULL BOY
ALl WOrk and No PLaY maKes JAck a DuLL bOY
all wOrk ANd no pLAY MAKes JacK a DULL bOy
all Work and No plAY mAkES JACk a dulL bOY
all WOrk ANd nO Play MAkEs JacK a duLL BOY
alL WorK aND no plAY makeS jAcK A DULL boy