在 python 中,您可以使用制表符或空格作为缩进,但您必须在使用的内容和数量方面保持一致。仔细看看以下内容:
def sense(p, z):
q=[]
for i in range(len(p)):
hit = (z==world[i])
q.append(p[i]*(hit*pHit + (1-hit)*pMiss))
return q
无论 return 语句是否属于它,问题都在于行
q=[]
for i in range(len(p)):
关系到
for i in range(len(p)):
hit = (z==world[i])
q.append(p[i]*(hit*pHit + (1-hit)*pMiss))
return q
注意前面提到的前两行之前有两个空格,而 for 循环体之前有六个空格。每个缩进级别应该是单个缩进的倍数。因此,如果您想使用两个空格:
def sense(p, z):
q=[]
for i in range(len(p)):
hit = (z==world[i])
q.append(p[i]*(hit*pHit + (1-hit)*pMiss))
return q
如果你想使用四个空格:
def sense(p, z):
q=[]
for i in range(len(p)):
hit = (z==world[i])
q.append(p[i]*(hit*pHit + (1-hit)*pMiss))
return q
我通常使用四个并设置我的环境以将制表符映射到四个空格。
也就是说......我也同意移动退货声明。但至少现在你可以运行你的代码并弄清楚你是否/为什么要移动它。
您可能应该通读PEP-8的所有内容,尤其是关于缩进的部分