私はファイルを持っています
A 1 N MET P 1 27.340 24.430 2.614
A 2 HT1 MET P 1 26.953 23.623 2.168
A 3 CB MET P 1 27.740 24.175 3.494
A 4 H MET P 1 28.039 24.841 2.028
A 5 CA MET P 1 26.266 25.413 2.842
A 6 HA MET P 1 25.880 25.742 1.885
A 7 C MET P 1 25.112 24.880 3.649
A 8 HB1 MET P 1 24.236 25.536 3.434
... ... ... ... . ... ..... ..... .....
コードの一部として、ファイルの 2 列目の値を取得し、その値を取得して、3 列目の文字列が の要素の 1 つになるまでその値を減らしlist=['C','N','O']
、6、7、8 の値を追加する必要があります。リストへの列の値とループは、条件が満たされるとすぐに中断する必要があります (3 列目の文字列は再帰的であるため) 私はこの方法を試しました:注: atom_no
2 番目の列の値と rl1-readlines です。
dec=int(atom_no)-1
for i in range(0,1231):
dec=dec-1
list_coor1=[]
line1=rl1[i]
line1=line1.split()
if len(list_coor1)==0:
if line1[1]==str(dec):
for atom in list:
if line1[2]==str(atom):
for p in range(6,9):
list_coor1.append(line1[p])
print list_coor1
値を減らすことに問題があると思います。つまり、dec=dec-1
の値を増やすことで同じことatom_no
をしようとしているので、再帰関数を定義しようとしましたが、できませんでした。
どんな助けでも大歓迎です。
前もって感謝します