如何让While True行运行得慢一点

-3 投票
2 回答
1021 浏览
提问于 2025-04-18 17:34

我喜欢用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

撰写回答