Python 3.6.1 def中的缩进错误

时间:2018-03-26 18:34:47

标签: python-3.6

我在python 3.7上遇到了很长时间关于非常无意义的缩进的问题,所以我决定回到3.6,特别是repl.it Python 3.6.1,正如我所提到的,错误是没有充分理由的无论如何,代码如下所示:

from random import randint

import functools
printf = functools.partial(print, end=" ")

defNuc = ['C','A','T','G']
def opNuc():

def create():
    nuc = [0]
    nucop = [0]
    length = randint(11,16)
    print (length - 1)
    for i in range(1,length):
        part = randint(1,4)
        for a in range(1,4)
        if part == a:
        nuc = defNuc[a]
        nucOp = defNuc[-a]
        if i != length - 1:
            printf(nuc[i],i,"-")
        else:
            print(nuc[i],i)
    for i in range (1,length):
        if i != length - 1:
            printf(nucOp[i],"-")
        else:
            print(nucop[i])

错误发生在第9行,

def create():

至于错误的原因,它只是说

expected an indented block

编辑: 这完全是我的愚蠢,不认真对待,将在10分钟内删除。

2 个答案:

答案 0 :(得分:1)

您从未完成opNuc的定义,因此解析器期望缩进行继续该函数的主体。添加pass语句以提供一个简单的正文:

def opNuc():
    pass

或缩进create的定义,如果它应该是opNuc的主体的本地(不太可能,但可能):

def opNuc():

    def create():
        ...

答案 1 :(得分:0)

问题是您的第一个功能opNuc从未完成。我本人多次犯过这个简单的错误,很容易错过。修复起来很容易,只需在pass函数内键入opNuc,就可以了。希望我能帮上忙!