24

私はPythonを使ったプログラミングの初心者なので、気楽にやってください。文字列属性 rjust を呼び出し、浮動小数点の精度も指定しようとしています。コードとサンプル出力は次のとおりです (0.00 が右揃えされていないことに注意してください)。

print '%s: %s %s \tchange: %.2f' % (Instance1.symbol.ljust(5), 
    Instance1.name.ljust(50), Instance1.buyprices.rjust(10), Instance1.val)

出力:

AXP  : American Express Company                          55.38  change: -1.15  
AXR  : Amrep Corp.                                       6.540  change: 0.00
4

3 に答える 3

30

%これは、古い書式設定方法を使用して小数点以下 2 桁で出力を書式設定する方法の例を示しています。

v1 = 55.39
v2 = -1.15
v3 = 6.54
v4 = 0.00

print '%8.2f   %8.2f' % (v1, v2)
print '%8.2f   %8.2f' % (v3, v4)

対応する出力:

   55.39      -1.15
    6.54       0.00

または、「新しく改良された」.format()関数を使用することもできます。これはしばらくの間使用され、知る価値があります。以下は、上記と同じ出力を生成します。

print '{:8.2f}  {:8.2f}'.format(v1, v2)
print '{:8.2f}  {:8.2f}'.format(v3, v4)

どちらのフォーマット ディレクティブのセットも、数値に 8 つのスペースを割り当て、小数点以下 2 桁の浮動小数点数としてフォーマットします。ニーズに合わせてこれらの値を調整する必要があります。

このアプローチを使用して出力をフォーマットすると、出力を大幅.format()に制御できるようになるため、簡単になると思います(両端揃え、塗りつぶし、精度を含む)。

于 2012-07-15T04:06:57.363 に答える
1

もちろん、質問を投稿した直後にこれを理解しました...

changed to this:
    def change_value(self, sym, buy, sell):
        self.sym = sym
        temp = float(buy) - float(sell)
        self.val = "%.2f" % temp




and then called str(Instance1.val).rjust(10)
于 2012-07-15T04:13:04.617 に答える