<p>以下代码运行正常:</p>
<pre><code>my_dna = """ATCGATCGATGGTCGAATGACTAgtcatagctatgcatgtagctactc
gatcgtattttattcgatcgatcgatCGATCGATCATGCTATCATCGATCGATATCGATGCATC
GACTACTATgtcatggctatgcatcgatcgtattttattcgatcgttcgatGATCGATCGATCGACTGACTTTGAA"""
# here we introduce another useful operator for strings: len
gene_length = len(my_dna)
# we’ll use the starting position of useful substrings in the
# sequence to find the positions of the exon-intron boundaries.
# We’ll then use those to find the length of each segment.
exon1_length = my_dna.find('Agtcata')
intron1_length = my_dna.find('gtcata') - my_dna.find('atcgat')
exon2_length = my_dna.find('CGATCG') - my_dna.find('Tgtcatg')
intron2_length = my_dna.find('gtcatg') - my_dna.find('tGATCGA')
exon3_length = gene_length - my_dna.find('GATCGA')
print ("Gene length:" + str(gene_length))
print ("Exon1 length:" + str(exon1_length))
print ("Intron1 length:" + str(intron1_length))
print ("Exon2 length:" + str(exon2_length))
print ("Intron2 length:" + str(intron2_length))
print ("Exon2 length:" + str(exon3_length))
</code></pre>
<p>我在打印语句中保留了括号,假设您使用的是Python3。您可能需要更改<code>exon3_length</code>行,因为我不清楚您的意图。你知道吗</p>
<p>要使代码运行,只需更改两个命令:</p>
<ul>
<li><p><code>my_dna</code>的定义是多行字符串,因此需要三个引号。另一方面,如果您希望它是一个单行字符串,那么将它全部放在一行上。</p></li>
<li><p><code>exon3_length</code>行有两个问题:参数不平衡和试图调用整数。</p></li>
</ul>
<p>解决这些问题后,代码将运行。你知道吗</p>
<p><strong>代码中使用的引号和减号(与摘录相反)很好。运行代码不需要更改任何一个。</strong></p>