0

私は、DNAの特定の非コード鎖を、対応するすべてのDNA(コード鎖、mRNA、tRNA、およびアミノ酸鎖)に変換する非常に単純なプログラムに取り組んでいます。

IndexError文字列をスライスしようとすると、次のようになります。

mRNA_parts = mRNA.split(' ')
print mRNA_parts,  # using for debugging purposes

for base in mRNA_parts:
    print base # again, for debugging
    partA = base[0]
    partB = base[1]
    partC = base[2]
    my_acid = (amino_acids[partA][partB][partC]) + ' '
    # 'amino_acids' is a 3D (thrice-nested) dictionary with the corresponding parts of mRNA to convert to the amino acid chain.
    # part of the nested dictionary: amino_acids = {'U': {'U': {'U': 'Phe'}}}. This is only one part (out of 64) of it.
    # Thus, if  the mRNA section was 'UUU', the amino acid would be 'Phe '.
    acid_strand += my_acid

これは私が得るエラーです:

['GAU', '']
GAU


Traceback (most recent call last):
  File "D:\my_stuff\Google Drive\documents\SCHOOL\Programming\Python\DNA to RNA Converter.py", line 83, in <module>
    main()
  File "D:\my_stuff\Google Drive\documents\SCHOOL\Programming\Python\DNA to RNA Converter.py", line 3, in main
    convert(non_coding)
  File "D:\my_stuff\Google Drive\documents\SCHOOL\Programming\Python\DNA to RNA Converter.py", line 58, in convert
    partA = base[0]
IndexError: string index out of range

base[0]ベースが「GAU」の場所でどうしてできないのですか?

それが印刷したものに基づいて、「GAU」は文字列ではありませんか?周りに引用符はありません。

前もって感謝します!

4

1 に答える 1

3

のエラーは表示されていませんが、リストの2番目の要素として使用しているGAU空の文字列のエラーが表示されています。''ループの開始時にテストを追加して、それを無視します。

于 2012-12-22T17:19:16.617 に答える