我在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分钟内删除。
答案 0 :(得分:1)
您从未完成opNuc
的定义,因此解析器期望缩进行继续该函数的主体。添加pass
语句以提供一个简单的正文:
def opNuc():
pass
或缩进create
的定义,如果它应该是opNuc
的主体的本地(不太可能,但可能):
def opNuc():
def create():
...
答案 1 :(得分:0)
问题是您的第一个功能opNuc
从未完成。我本人多次犯过这个简单的错误,很容易错过。修复起来很容易,只需在pass
函数内键入opNuc
,就可以了。希望我能帮上忙!