昨天,我在一些编程任务中尝试了一些涉及python的MOOC。我试图解决一个简单的问题,但我不明白为什么我仍然会收到这样的错误:
In [32]: import A1Part3
File "A1Part3.py", line 26
t = np.arrange(x.size/N)
^
IndentationError: unexpected indent
我不明白为什么,我正在阅读关于python缩进的内容,并且据我所知,如果某个语句在上面的块中缩进,它应该考虑该函数的一部分。 我不知道我做错了什么或我误解了什么。
"""
A1-Part-3: Python array indexing
Write a function that given a numpy array x, returns every Nth element in x, starting from the
first element.
The input arguments to this function are a numpy array x and a positive integer N such that N < number of
elements in x. The output of this function should be a numpy array.
If you run your code with x = np.arange(10) and N = 2, the function should return the following output:
[0, 2, 4, 6, 8].
"""
import numpy as np
def hopSamples(x,N):
"""
Inputs:
x: input numpy array
N: a positive integer, (indicating hop size)
Output:
A numpy array containing every Nth element in x, starting from the first element in x.
"""
## Your code here
t = np.arrange(x.size/N)
cont = 0
i = 0
while cont<x.size :
cont+=N
t[i]=x[cont]
i=i+1
return t
答案 0 :(得分:1)
该行上有制表符,Python将制表符扩展为8个空格。 前面的行只使用空格,因此它的缩进率为4个字符:
>>> '''\
... ## Your code here
... t = np.arrange(x.size/N)
... '''
' ## Your code here\t\n\tt = np.arrange(x.size/N)\n'
>>> # ^^ ^^
\t
转义序列代表那里的标签。由于选项卡扩展为8个空格,因此您可以有效地缩进该行,而不是前面的行。
您不应在新的Python代码中使用制表符。仅使用空格。将编辑器配置为使用空格进行缩进(即使按下Tab键,大多数编辑器也会使用空格)。
通过python -tt scriptname.py
运行您的代码,让Python告诉您有关混合制表符和空格的任何其他位置,并对其进行更正。
答案 1 :(得分:0)
在我的电脑中,除第一行的缩进外,您的代码工作正常: 但即使您的代码出现任何缩进错误,我建议您将tab替换为4个空格