我想使用time.sleep()在字符串中添加特定的时间延迟,我正在构建一个文本交互游戏,我尝试了以下方法:
print(f"**inner thoughts** hmmmmm... {time.sleep(2)} maybe big nuke? {time.sleep(2)} or AK 47s for everyone? {time.sleep(2)} or kill him with our kindness? {time.sleep(2)} ")
问题是当我执行代码时,我得到的是(无)而不是时间延迟
inner thoughts hmmmmm... None maybe big nuke? None or AK 47s for everyone? None or kill him with our kindness? None
我提供了解决这个问题的模板方法
版本1,使用flag剪切文本(
|
对于此示例):版本2:自定义延迟时间
f-串一次全部构建;您将看不到这种带有延迟的打印片段,因为当您
sleep
时字符串还没有结束,所以print
甚至还没有被调用。如果您想这样做,您必须进行单独的print
调用,中间有sleep
;将其嵌入f字符串没有任何好处,您可能希望在等待之前执行类似操作以实际打印每个组件:end=""
确保您不会移动到新行(遵循原始的一体式字符串格式),而flush=True
确保数据不会在您睡觉时卡在缓冲区中等待(没有它,可能的行为是等待八秒钟,然后所有文本立即作为最后print
的新行出现)导致行缓冲转储缓冲区)相关问题 更多 >
编程相关推荐