2011-07-06 21 views
0

としてテーブルを保存し、私は、テキスト内の関数のプリントのようなテーブルを取得することはできません。あなたが機能を書いている私が今持っているどのようにテキスト

華氏摂氏

-300°F   -184.444°C 
-299°F   -183.889°C 
-298°F   -183.333°C 
-297°F   -182.778°C 
-296°F   -182.222°C 
-295°F   -181.667°C 
-294°F   -181.111°C 
-293°F   -180.556°C 
-292°F   -180.0°C 

.........

+0

あなたは正確に –

答えて

2
def cC_(fout=sys.stdout): 
    ... 
    print(..., file=fout) 
    ... 

with open(..., 'w') as oname: 
    cC_(oname) 
+2

やPython 2.xの中を望むもの、それは明確に、 '印刷>> FOUT、...' ' – RichieHindle

+0

プリント(...、ファイル= FOUT)' Pythonの程度だけで素晴らしいですしてください。 – cwallenpoole

0

は値ではなく、機能に印刷された文字列を返します。

印刷呼び出しをoname.writeに変更する必要があります。

with open("1231.txt","w") as oname: 
    oname.write(" fahrenheit  celsius\n") 
    for i in range(-300,213,1): 
     c_=(i-32)*(5/9) 
     a_=str(i)+'°F' 
     b_=str(round(c_,3))+'°C' 
     oname.write("".join(("%10s" % (a_), '  ',"%10s\n" % (b_)))) 

編集:

代わりにstrの変換の.formatを使用してより良い方法は、(あなたはあまりにも古い%表記でそれを行うことができます。)があります:

with open("1231.txt","w") as oname: 
    oname.write(" fahrenheit  celsius\n") 
    for i in range(-300,213,1): 
     c=(i-32)*(5/9) 
     oname.write("{0:<10.3f}°F {1:<10.3f}°C \n".format(i, c)) 
0

イグナシオの答えはのために働きますpython3、python2のために、あなたはすべきです...

def cC_(fout=sys.stdout): 
    ... 
    print >> fout, ... 

with open(..., 'w') as oname: 
    cC_(oname) 
0

私は提案します:

oname = open("1231.txt","w") 

def cC_(): 
    return ("%13s%18s\n" % ('fahrenheit','celsius') \ 
      + '\n'.join("%10s °F %14s °C" % (i, '%.3f' % ((i-32)*5./9)) 
         for i in xrange(-300,213,1))) 

print cC_() 
oname.write(cC_()) 

oname.close() 

古代の文字列書式設定ツールで書かれています。 format()組み込み関数を使用するようにこのコードを変更することは可能です。

fahrenheit   celsius 
     -300 °F  -184.444 °C 
     -299 °F  -183.889 °C 
     -298 °F  -183.333 °C 
     -297 °F  -182.778 °C 
     -296 °F  -182.222 °C 
     -295 °F  -181.667 °C 
     -294 °F  -181.111 °C 
     -293 °F  -180.556 °C 
     ........... 
     -149 °F  -100.556 °C 
     -148 °F  -100.000 °C 
     -147 °F  -99.444 °C 
     -146 °F  -98.889 °C 
     -145 °F  -98.333 °C 
     -144 °F  -97.778 °C 
     ........... 
     12 °F  -11.111 °C 
     13 °F  -10.556 °C 
     14 °F  -10.000 °C 
     15 °F   -9.444 °C 
     16 °F   -8.889 °C 
     17 °F   -8.333 °C 
     18 °F   -7.778 °C 
     19 °F   -7.222 °C 
     20 °F   -6.667 °C 
     21 °F   -6.111 °C 
     22 °F   -5.556 °C 
     23 °F   -5.000 °C 
     24 °F   -4.444 °C 
     25 °F   -3.889 °C 
     26 °F   -3.333 °C 
     27 °F   -2.778 °C 
     28 °F   -2.222 °C 
     29 °F   -1.667 °C 
     30 °F   -1.111 °C 
     31 °F   -0.556 °C 
     32 °F   0.000 °C 
     33 °F   0.556 °C 
     34 °F   1.111 °C 
     35 °F   1.667 °C 
     36 °F   2.222 °C 
     37 °F   2.778 °C 
     38 °F   3.333 °C 
     39 °F   3.889 °C 
     40 °F   4.444 °C 
     41 °F   5.000 °C 
     42 °F   5.556 °C 
     43 °F   6.111 °C 
     44 °F   6.667 °C 
     45 °F   7.222 °C 
     46 °F   7.778 °C 
     47 °F   8.333 °C 
     48 °F   8.889 °C 
     49 °F   9.444 °C 
     50 °F   10.000 °C 
     51 °F   10.556 °C 
     52 °F   11.111 °C 
     53 °F   11.667 °C 
     ........... 
     ....... 
関連する問題