シーケンス「ADFG」を持っているとします。 スクリプトはリスト(A、T、G、C)に含まれているかどうかを確認し、そうであれば辞書からキーを取得して1を追加します。 したがって、シーケンス "ADFG"では、変数 "a"と変数 "g"に1を加え、変数 "error"に2を追加します。 しかし、スクリプトがエラーを返していない間、dicio [i] + = 1行は何も追加していません.... これを行うための簡単な方法がありますが、私は辞書を使いたいと思います。辞書カウンター
seq= input ("dna seq:").upper()
a,t,g,c,error=0,0,0,0,0
dicio= {"A":a,"T":t,"G":g,"C":c}
for i in seq:
if i in ("A","T","G","C"):
dicio[i]+=1
a+=1
else:
error+=1
print("A={:.2f} %".format(a/len(seq)*100))
print("T={:.2f} %".format(t/len(seq)*100))
print("G={:.2f} %".format(g/len(seq)*100))
print("C={:.2f} %".format(c/len(seq)*100))
print("Da sequencia,{:.2f} % sao erros".format(error/len(seq)*100))
あなたは、このような 'A'や' G'ような単純な変数を変更するには、辞書の割り当てを使用することはできません –
プログラミング言語タグを追加します。ここでは、もう少し簡潔にするために、いくつかの辞書機能を使用して、いくつかのコードです。以下のように 'dicio ['A']'と 'dicio ['G']'を使用してください。 –