2017-05-06 6 views
1

テキストファイルから行全体を計算するコードや方法があるかどうかを確認するだけです。 たとえば、次のテキストファイルがあります。テキストファイルから行を計算する方法は?

Force Displacement Theta 
0  0    0 
15  0    0 
3  0.15   0 
1  1    90 
-3  0.15   0 

私は、私が試してみました方程式

W =フォース*変位* COS(シータ)

を使用して、回線によってこれらの番号ラインのためのWorkDoneを計算したいです。

fname = input("Please enter the filename: ") 
infile = open(fname, "r") 

with open(fname, 'r'): 
    data = infile.readline() 
    f,D,Theta = eval(data) 
    display = f * D * cos(radians(Theta)) 
    output.setText(("%,2f") % display) 

私は私が私があなただったら、私は、計算(work)のための機能を解析(parse)する機能を作成します

+0

ループはどこにありますか?あなたはファイルの最初の行だけを取得しています。 – dede

+0

それについて心配しないでください。私はちょうどこれを行うための可能なコードがあるかどうかを知りたい。 – Donkey

+0

あなたは、入力テキストファイルの各行の結果を計算することを意味しますか? – xtofl

答えて

2

を助けてくださいました何見当がつかない。

def parse(line): 
    return (float(token) for token in line.split()) 

def work(f, d, theta): 
    return f * d * cos(theta) 

そして、いくつかの問題:これは、多かれ少なかれ、やるべき

fname = input("...") 
with open(fname, 'r') as infile: 
    infile.readline() # drop the first line 
    for line in infile: 
     f, d, t = parse(line) 
     print(work(f, d, t)) 

:開いているファイル名が必要です:with open(...) _as infile_:を...あなたはwith...ブロックの前にそれを開く必要はありませんトリック。

関連する問題