Jupyter Notebook中input函数执行异常问题咨询
Jupyter Notebook中input函数执行异常问题咨询
嘿,我来帮你捋捋这个问题!先看看你写的这段代码:
email = input("Enter your email") password = input("Enter your password") if email == "samplemail@gmail.com" and password == "1234": print("Welcome") else: print("Incorrect user input")
你遇到的情况我get到了:先写了前两行带input()的代码就运行了,没在输入框里填内容就接着写完剩下的代码,之后再运行完整代码时,它直接跳到下一个单元格,完全不请求输入;复制到新单元格也没用,只有新建ipykernel文件才正常。
这其实是Jupyter Notebook内核的状态残留问题:
- 当你第一次运行那两行
input()代码时,Jupyter的内核就进入了「等待用户输入」的阻塞状态,但你没完成输入操作,这个阻塞状态就一直留在内核的上下文里了 - 之后你再运行完整代码,内核其实还卡在上次未完成的
input()请求里,没法正常处理新的输入请求,所以看起来像是代码直接跳过了输入步骤 - 复制单元格或者删除旧单元格都没用,因为内核的状态还是之前卡住的状态,只有新建文件时会启动全新的内核,状态是干净的,所以代码就能正常运行了
给你两个实用的解决办法:
- 直接重启当前Jupyter的内核:在Notebook界面顶部的菜单里找到「Kernel」选项,点击「Restart」,等内核重启完成后,再运行你的完整代码,就能正常弹出输入请求了
- 之后运行带
input()的代码时,一定要完成输入操作再去做其他编辑,别让内核一直卡在等待输入的状态里
备注:内容来源于stack exchange,提问作者Sonu Yadav
相关产品推荐
相关产品推荐

