colab 中 if elif else 的不同单元格
different cells for if elif else in colab
我想知道是否有任何方法可以在一个单元格中使用 if
语句,然后在另一个单元格中使用 elif
,然后在最后一个单元格中使用 else
,在google 协作。
不将所有代码都放在一个单元格中的原因是因为我想为每个 if
个案例添加文本单元格。
同样的概念,我可以用while
和for
循环来做吗?例如在while
循环中,原代码如下:
while True:
print('this is my first job)
print('this is my second job)
在 colab 中,是否可以将其放在一个单元格中:
while True:
print('this is my first job)
那么这是另一个单元格?
print('this is my second job)
for
循环的另一个例子,这是原始代码:
for n in range(100):
print(n + 10)
print(n + 20)
在 colab 中,然后我想要一个单元格包括:
for n in range(100):
print(n + 10)
另一个单元格包括,可能吗?
print(n + 20)
不,你不能这样做。
Google colab 基本上只是一个 IPython 笔记本,每个可执行单元必须是 python 代码的有效“块”。第一个“块”是有效的,但随后的“块”将无效,因为解释器假定每个单元格都从最小缩进级别开始。举个例子:
if False:
print('false')
print('how did we get here?')
运行按顺序排列每个单元格可能使这看起来很有意义,但“我们如何到达这里”将始终打印,而“false”则不会。内核不能假定第二个单元格与第一个单元格相关联,因为如果需要,笔记本天生就被设计为 运行 乱序。因此,就调用堆栈而言,单元格的起始缩进级别仅被视为“模块”级别。考虑一下您是否首先尝试 运行 这个单元格:
print('this should print if True')
elif False:
print('this should print if False')
如果这是它看到的第一段代码,解释器应该做什么?它将 return 出错,因为“取消缩进”类似于弹出堆栈帧,并且在这种情况下没有要弹出的帧。
我想知道是否有任何方法可以在一个单元格中使用 if
语句,然后在另一个单元格中使用 elif
,然后在最后一个单元格中使用 else
,在google 协作。
不将所有代码都放在一个单元格中的原因是因为我想为每个 if
个案例添加文本单元格。
同样的概念,我可以用while
和for
循环来做吗?例如在while
循环中,原代码如下:
while True:
print('this is my first job)
print('this is my second job)
在 colab 中,是否可以将其放在一个单元格中:
while True:
print('this is my first job)
那么这是另一个单元格?
print('this is my second job)
for
循环的另一个例子,这是原始代码:
for n in range(100):
print(n + 10)
print(n + 20)
在 colab 中,然后我想要一个单元格包括:
for n in range(100):
print(n + 10)
另一个单元格包括,可能吗?
print(n + 20)
不,你不能这样做。
Google colab 基本上只是一个 IPython 笔记本,每个可执行单元必须是 python 代码的有效“块”。第一个“块”是有效的,但随后的“块”将无效,因为解释器假定每个单元格都从最小缩进级别开始。举个例子:
if False:
print('false')
print('how did we get here?')
运行按顺序排列每个单元格可能使这看起来很有意义,但“我们如何到达这里”将始终打印,而“false”则不会。内核不能假定第二个单元格与第一个单元格相关联,因为如果需要,笔记本天生就被设计为 运行 乱序。因此,就调用堆栈而言,单元格的起始缩进级别仅被视为“模块”级别。考虑一下您是否首先尝试 运行 这个单元格:
print('this should print if True')
elif False:
print('this should print if False')
如果这是它看到的第一段代码,解释器应该做什么?它将 return 出错,因为“取消缩进”类似于弹出堆栈帧,并且在这种情况下没有要弹出的帧。