gpt4 book ai didi

python - 是什么让这两个具有不同缩进的Python代码产生不同的结果

转载 作者:太空宇宙 更新时间:2023-11-03 15:44:53 25 4
gpt4 key购买 nike

编辑。:我为我的问题道歉,我很困,并且在一个我不熟悉的具有不同默认缩进级别的 IDE 中工作。即使我在 Jupyter 中粘贴并重做代码之后,我也根本没有想到缩进已关闭。下次使用新的 python 工具时,我会更加注意制表符空间的设置。

在这个案例之前,我一直相信,无论缩进是用空格还是制表符,Python 代码的工作原理都是一样的,只要它们的级别是相对于父级的,直到我偶然发现在这种情况下,这两个代码会产生不同的输出。第一个是用我常用的 IDE Jupyter Notebook 制作的,第二个是用 Google DataLab 笔记本制作的,这实际上是我第一次使用它。令人惊讶的是,与 Jupyter 不同,它根本没有给我任何缩进警告(通过变红)。后来我把这个bug粘贴到Jupyter上后发现了这个bug的原因,有几行变成了红色。

代码#1

import numpy as np

A = [1,53,24,65,76,34]

for j in range(len(A)-1):
min_index = j
for i in range(j+1, len(A)):
if (A[i] < A[min_index]):
min_index = i

if(min_index != j):
A[min_index], A[j] = A[j], A[min_index]


print A

代码#2

import numpy as np

A = [1,53,24,65,76,34]

for j in range(len(A)-1):
min_index = j
for i in range(j+1, len(A)):
if (A[i] < A[min_index]):
min_index = i

if(min_index != j):
A[min_index], A[j] = A[j], A[min_index]

print A

最佳答案

在第一个示例中,第二个 if 位于内部 for 循环之外,但在第二个示例中,它位于循环内。由于第二个 block 中的每个外循环仅迭代一次,因此结果显然会有所不同。

关于python - 是什么让这两个具有不同缩进的Python代码产生不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41842990/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com