"Unindent does not match any outer indentation level" 但我找不到任何 space 或 taberror
"Unindent does not match any outer indentation level" But I can't find any space or taberror
我收到错误 "unindent does not match any outer indentation level"。但是,当我 google 问题时,答案始终是制表符和空格可以互换使用或类似的东西,但我找不到我的情况可能出什么问题。我重写了它,确保所有内容都是制表符,然后再次重写,这次所有内容都带有空格。我不断收到错误消息。有帮助吗?
注意:错误出现在 "if n == 2:" 行
def is_prime_v3(n):
'''return 'True' if 'n' is a prime number. False otherwise.'''
if n == 1:
return False
#if the number is even and larger than 2, it is not a prime number.
if n == 2:
return True
if n>2 and n%2==0:
return False
max_divisor = math.floor(math.sqrt(n))
for d in range(3, 1+max_divisor,2):
if n%d == 0:
return False
return True
您的 if n==1
以及文档字符串比 if n==2
和其余代码多 space。
在函数内部将它们设置为 "zero level" 缩进,并且以下代码 "un-indents" 小于零。
问题位于“”return...代码段“”和 if n == 1:
之间。有一个不知名的角色做了什么....
立即尝试:
import math
def is_prime_v3(n):
X '''return 'True' if 'n' is a prime number. False otherwise.'''
# whitespace too many at X.
Y if n == 1: # whitespace too many at Y.
Z return False # whitespace too many at Z.
# if the number is even and larger than 2, it is not a prime number.
if n == 2:
return True
if n>2 and n%2==0:
return False
max_divisor = math.floor(math.sqrt(n))
for d in range(3, 1+max_divisor, 2):
if n%d == 0:
return False
return True
print ('luck or lol : %s' % is_prime_v3(3))
编辑:更具体地说,看起来有一个:
SyntaxError: unexpected EOF while parsing
with an "EOF".
或
'''return 'True' if 'n' is a prime number. False otherwise.'''
IndentationError: unindent does not match any outer indentation level
其中后者你现在可能已经搞定了
我收到错误 "unindent does not match any outer indentation level"。但是,当我 google 问题时,答案始终是制表符和空格可以互换使用或类似的东西,但我找不到我的情况可能出什么问题。我重写了它,确保所有内容都是制表符,然后再次重写,这次所有内容都带有空格。我不断收到错误消息。有帮助吗?
注意:错误出现在 "if n == 2:" 行
def is_prime_v3(n):
'''return 'True' if 'n' is a prime number. False otherwise.'''
if n == 1:
return False
#if the number is even and larger than 2, it is not a prime number.
if n == 2:
return True
if n>2 and n%2==0:
return False
max_divisor = math.floor(math.sqrt(n))
for d in range(3, 1+max_divisor,2):
if n%d == 0:
return False
return True
您的 if n==1
以及文档字符串比 if n==2
和其余代码多 space。
在函数内部将它们设置为 "zero level" 缩进,并且以下代码 "un-indents" 小于零。
问题位于“”return...代码段“”和 if n == 1:
之间。有一个不知名的角色做了什么....
立即尝试:
import math
def is_prime_v3(n):
X '''return 'True' if 'n' is a prime number. False otherwise.'''
# whitespace too many at X.
Y if n == 1: # whitespace too many at Y.
Z return False # whitespace too many at Z.
# if the number is even and larger than 2, it is not a prime number.
if n == 2:
return True
if n>2 and n%2==0:
return False
max_divisor = math.floor(math.sqrt(n))
for d in range(3, 1+max_divisor, 2):
if n%d == 0:
return False
return True
print ('luck or lol : %s' % is_prime_v3(3))
编辑:更具体地说,看起来有一个:
SyntaxError: unexpected EOF while parsing with an "EOF".
或
'''return 'True' if 'n' is a prime number. False otherwise.'''
IndentationError: unindent does not match any outer indentation level
其中后者你现在可能已经搞定了