我正在使用 Jupyter,我的 Python 版本是 3.5。在我的 while
循环中,执行顺序不正确;一次迭代的输入
显示在上一次迭代的最终打印
之前。这是我的代码。
from IPython.display import display
import pandas as pd
df = pd.DataFrame({'a':[1,2],'b':[3,4]})
while(True):
a = input("please input:\n")
display(df.head())
print (a)
最佳答案
我能够在 OSX 上重现 Chrome 63 下的行为。我添加了多个连续的 print(a)
语句,并且输入字段结束的位置是随机的:在它们之前、之后或之间。我怀疑每个显示和打印调用都会向服务器发送一个请求,但会异步等待其结果,因此可能会在 print(a)
的结果之前再次调用 input
准备好了。
这不是一个优雅的解决方案,但在 print(a)
之后添加一个小 sleep (time.sleep(.02)
) 为我解决了这个问题。
关于python - Jupyter输入、显示、打印执行顺序困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48198676/