質問: python プログラミング vim #!/usr/bin/env python #vim: fileencoding=utf-8 from math import* import sys outfp=open('test.dat','w') outfq=open('ab.dat','w') for line in open('para.dat','r'): items=line.split('\t') s=2/float(items[0]) u=float(items[1])-5+log(s/100) outfp.write(str(s)) outfq.write(str(u)) outfp.close() outfq.close() ////para.dat//// 1 2 1 3 として、プログラムを実行したのですが、ファイルに出力した時に、 para.datの2列目(1 3)の計算した結果しか、ファイルに書き込まれてないのですが、 どうすれば、すべて反映されて、出力ファイルに結果が出せるのでしょうか。 よろしくお願いします。
回答: このプログラムをそのまま実行すると以下のようになりますが、 ////ab.dat//// -6.91202300543-5.91202300543 ////test.dat//// 2.02.0 outfp.write(str(s) + "\n") outfq.write(str(u) + "\n") と変更すると、 ////ab.dat//// -6.91202300543 -5.91202300543 ////test.dat//// 2.0 2.0 求める結果はこういうことでしょうか?