这段代码摘自我的《Python for Biologists》一书:
genomic = open("genomic_dna.txt").read()
exons = open("exons.txt")
for line in exons:
positions = line.split(',')
start = int(positions[0])
stop = int(positions[1])
exons = genomic[start:stop]
coding_seq = coding_seq + exon
print("Coding sequence is: " + coding_seq)
根据书上的说法,这应该可以工作,但是当我运行它时,我收到一个名称错误“coding_seq 未定义”。
据我所知,python 是一种动态语言,因此在循环中使用它之前,我不必明确声明 coding_seq。为什么此代码无法正常工作?
答案1
您需要先定义coding_seq
genomic = open("genomic_dna.txt").read()
exons = open("exons.txt")
coding_seq = ""
for line in exons:
positions = line.split(',')
start = int(positions[0])
stop = int(positions[1])
exons = genomic[start:stop]
coding_seq = coding_seq + exon
print("Coding sequence is: " + coding_seq)