我使用的是 Jupyter,Python 版本是 3.5。在我的while
循环,执行顺序不正确;这input
显示了一次迭代的结果before决赛print
上一次迭代的。这是我的代码。
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)
The execution result is
我能够在 OSX 上的 Chrome 63 下重现该行为。我又连续添加了几个print(a)
语句以及输入字段的结束位置是随机的:在它们之前、之后或之间。我怀疑每个显示和打印调用都会向服务器发送一个请求,但异步等待其结果,因此input
可能会在结果之前再次调用print(a)
准备好了。
这不是一个优雅的解决方案,而是添加一个小的睡眠(time.sleep(.02)
) after print(a)
为我解决了问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)