jupyter笔记本没有执行代码

时间:2018-01-13 01:40:48

标签: python jupyter

我最近开始学习python,到目前为止没问题。昨天,jupyter笔记本停止执行代码。我在线搜索,重新启动内核,重新启动我的Windows机器,并试图找到一种方法来了解它正在做什么,以便我可以继续,但我没有找到解决方案或我的代码不再被执行的原因。我在Windows机器上运行我的代码,在Windows上运行chrome。我没有在我的机器上安装jupyter。我在蔚蓝的网络上运行它。

请帮忙。

谢谢, 大卫

3 个答案:

答案 0 :(得分:0)

该程序仍然是一个代码'模式。为了执行,我们被告知通过" ctrl + enter"执行。到目前为止,我在过去的3周内没有遇到任何问题。

答案 1 :(得分:0)

                                                                                                         import os

string_container =“” add_container = 0 def adds_report(integerToAdd):

总计= 0

总计=总计+ integerToadd

#add_container = 0

while True:
    a = input("Input a number: ")
    if a.digit():
        string_container += a + "\n"
        add_container += int(a)
    else:
        if a == 'A':
            print(Add_container)
        else:
            if a == 'T':
                print(string_container)
            else:

                if a=="q":
                    os._exit(0)
                else:

                    print("invalid input")

答案 2 :(得分:0)

我想我明白了。如果你这样写,那么你可以第一次运行它。但是从第二次开始它就不会被执行了。因为jupyter只清除代码块输出,但是不释放while循环。

while True:
    a = input("Input a number: ")
    if a.isdigit():
        string_container += a + "\n"
        add_container += int(a)
    else:
        if a == 'A':
            print(Add_container)
        else:
            if a == 'T':
                print(string_container)
            else:

                if a=="q":
                    os._exit(0)
                else:

                    print("invalid input")

您应该将代码放在try-catch块中,就像这样。

try:
    while True:
        a = input("Input a number: ")
        if a.isdigit():
            string_container += a + "\n"
            add_container += int(a)
        else:
            if a == 'A':
                print(Add_container)
            else:
                if a == 'T':
                    print(string_container)
                else:

                    if a=="q":
                        os._exit(0)
                    else:

                        print("invalid input")
except KeyboardInterrupt:
    pass

所以你必须

1. Select restart the kernel and clear output
2. Add try-catch so you can use "kernel interrupt" to kill the while loop
3. Whenever you finish using this while loop, select "kernel" -> "interrupt" to kill it completely

希望有帮助