を通じて私は一緒にコードのこの部分を入れている:ループは、ファイル全体パイソン
flux =[31.,29,27.,25.]
F=[]
with open("results.rdx", "r") as file1:
for line in enumerate(file1):
f_list = [float(i) for line in file1 for i in line.split(',') if
i.strip()]
F = f_list[7:11]
with open("results.txt", "a+") as file2:
file2.write(str(chisqfunc(flux,F)))
file2.write("\n")
そして、私の入力ファイルは、次のようになります
5.0, 1000.0, 100000000000000.0, 115.2712, 230.538, 345.796, 461.0408,
1.053E-09, 1.839E-09, 1.632E-10, 1.959E-12, 4.109, 3.683, 3.586, 3.650
5.0, 1000.0, 500000000000000.0, 115.2712, 230.538, 345.796, 461.0408,
4.873E-09, 8.890E-09, 8.243E-10, 9.974E-12, 4.157, 3.704, 3.582, 3.649
5.0, 1000.0, 1000000000000000.0, 115.2712, 230.538, 345.796, 461.0408,
8.883E-09, 1.705E-08, 1.668E-09, 2.039E-11, 4.212, 3.731, 3.577, 3.648
は実際の方法多くの行がありますが、それは無意味ですすべてを投稿する関数はいくつかの配列の乗算などを行います。最初の行を読み、配列F[]
に列7-10の値を追加し、chisqfunc
を呼び出してその結果をファイルresults.txt
に出力します。その後、2行目に進み、新しい値をF
などに追加します。 しかし、それは2行目から始まり、2行目について上記の手順を実行し、2行目の値のみを出力します。 問題があると思われます私がfor
と宣言した通りです。 何か助けていただければ幸いです。
くぼみを正確に再現してください。ループが関係しているとき。 – patrick
なぜインデックス7より前にすべての数値を破棄していますか?ちょっと興味があるんだけど。 –
あなたはロジックが混乱していることをお勧めします。 – Dan