我怎么能永远重复这个?

Vla*_*tin 8 python random loops

我有这个地形发生器,在我看来非常有效.我无法让它永远打印出来.这是我现有的代码:

import random
print(' '.join([random.choice(['#','o','~','*']) for i in range(10000)]))
Run Code Online (Sandbox Code Playgroud)

我试着这样做,但我得到了一个SyntaxError.

import random
print(' '.join([random.choice(['#','o','~','*']) while True]))
Run Code Online (Sandbox Code Playgroud)

我怎么能让它永远重复?我还想在每个角色的打印之间延迟0.05秒.如果你能保持最多两行,这很酷.如果你不能,那没关系.谢谢!注意:不是关于gamedev,我恰好.join用于地形发生器.

Tim*_*ker 10

好吧,如果你想在字符之间有延迟,你就不能使用,join()因为这会给你一个字符串而不是"字符生成器".

如果你计划使用"无限"发生器,你也不能join()出于同样的原因使用它们.

这个怎么样:

import random
import sys
import time
while True:
    print(random.choice("#o~*"), end="", flush=True) # Python 3.3 and up
    time.sleep(0.05)
Run Code Online (Sandbox Code Playgroud)

  • 在最新版本的Python中,`print`有一个关键字参数`flush`.您可以将代码长度减少两行. (2认同)