python - 递归函数名称错误

标签 python for-loop recursion error-handling

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/

相关文章:

javascript - 停止 ng repeat 对选项卡 ui 选择事件进行递归调用

java - 递归插入到双向链表的末尾

java - 递归函数无法获取最里面的异常消息

Python程序,方便用户查询

python - Python 中的击键事件

java - 计算字符串中用户指定字符的出现次数

java - 如何在 java 的 for 循环中使用公式

python - 如果按下某个键,我怎样才能暂时真正休息? [Python]

python - 连接模板和 View 分页

c - 使用 for 循环的二维数组赋值