我最近开始学习python,到目前为止没问题。昨天,jupyter笔记本停止执行代码。我在线搜索,重新启动内核,重新启动我的Windows机器,并试图找到一种方法来了解它正在做什么,以便我可以继续,但我没有找到解决方案或我的代码不再被执行的原因。我在Windows机器上运行我的代码,在Windows上运行chrome。我没有在我的机器上安装jupyter。我在蔚蓝的网络上运行它。
请帮忙。
谢谢, 大卫
答案 0 :(得分:0)
该程序仍然是一个代码'模式。为了执行,我们被告知通过" ctrl + enter"执行。到目前为止,我在过去的3周内没有遇到任何问题。
答案 1 :(得分:0)
import os
string_container =“” add_container = 0 def adds_report(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
希望有帮助