import time
i = ["Welcome", "back", "Doctor", "!"]
for t in i:
print(t,end=" ")
time.sleep(1)
预期:Welcome空格等一秒钟back空格等一秒钟Doctor空格等一秒钟! 字符串格式
结果:等四秒然后内容
问:咋改到预期
这是无法预测的。time.sleep本身会堵塞线程,所以可能在print还没有输出的时候sleep就已经开始暂停线程了。
首先,您的循环语句是错误的,需要将 "for" 改为 "for t in i:"。然后,每次循环时都休眠 1 秒,从而使内容显示和预期一致:
import time
i= ["Welcome", "back", "Doctor","!"]
for t in i:
print(t,end=" ")
time.sleep(1)
1.对于print的问题,因为是直接打印在控制台下的,所以即使阻塞主线程也不会防止它打印,这跟GUI阻塞了不绘制是不一样的
2.你必须在控制台下进行测试,不要使用网页版测试工具,网页版本质上还是在服务器上执行之后给你推送结果,不是js直接执行,所以时序会不一致