VSCode的Jupyter Notebook运行Python代码仅输出True其余无输出怎么办
问题原因
- Jupyter Notebook 单元格的默认输出规则是仅自动打印单元格中最后一个执行的表达式的返回值,你写的所有中间比较表达式既没有调用
print()打印,也不是单元格最后一行代码,所以运行后不会有输出。 - 你看到的唯一输出
True,是整个代码块最后一行str1 <= str2的执行结果:字符串比较是按字符的ASCII编码值逐位对比,"good"的首字母g的ASCII值小于"life"的首字母l,所以该表达式返回True,被Jupyter自动打印出来。
解决方法
如果需要查看所有比较表达式的结果,给每个需要输出的表达式外层包裹print()函数即可,示例如下:
# Equals to print(num1 == num2) print(str1 == str2) # Not equal to print(num1 != num2) print(str1 != str2) print(num1 != num3) # 其余所有需要查看结果的表达式都加上print()即可
如果不想逐个加print,也可以在单元格开头添加如下代码,修改Jupyter的输出规则,让单元格中所有单独成行的表达式都自动输出结果:
from IPython.core.interactiveshell import InteractiveShell InteractiveShell.ast_node_interactivity = "all"
内容的提问来源于stack exchange,提问作者TheStormBreaks
相关产品推荐
相关产品推荐

