def a(j):
lines=in_file.readlines()
linex=[]
for line in lines:
line=line.strip("\n").split(" ")
linex.append(line)
print(linex)
for i in linex:
for j in i:
if j=="":
return 0
elif j=="X" or j=="Y":
return 0
else:
return a(j[:-1])
in_file=open("ncl.txt","r")
a(j)
这是我的代码,此代码存在NameError。
NameError: name 'i' is not defined
这样我就无法运行代码..您能帮我一下吗..
linex = [['CATTCG', 'ACT'], ['GGTAC', 'GCATTA']] after file operations..
解释我要做什么的小代码:
def a(j):
if j=="":
return 0
elif j=="X" or j=="Y":
return 0
else:
return a(j[:-1])
a("GUGUUG")
我只想概括列表中每个j的代码。
最佳答案
发生错误是因为没有名为j
的变量。
用j
替换a(j)
中的in_file
。
更改此:
a(j)
对此:
a(in_file)
如果您更喜欢使用
j
,则需要创建/定义j
变量,如下所示:j = open("ncl.txt", "r")
最好的做法是为变量赋予一个有意义的名称,就像使用
in_file
一样。
关于python - 递归函数名称错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34475215/