0

Python (2.7) を学び始めたばかりで、質問があります。

最初に私のコード:

def add(a, b):
    print "ADDING %d + %d" % (a, b)
    return a + b

number_a = float(raw_input())
number_b = float(raw_input())

add(number_a, number_b)

ご覧のとおり、ユーザーに 2 つの浮動小数点数を与えてから、それらを追加して解を出力するように依頼したいと思います。しかし、2 つの浮動小数点数を入力すると、丸められた数値として出力されます。どうすればこれを正しく理解できますか?

4

5 に答える 5

2

%fフロートに使用します。%.2ffor 2 digits または%.3ffor 3 digits などを使用して小数精度を調整できます。

def add(a, b):
    print "ADDING %.2f + %.2f" % (a, b)
    return a + b

number_a = float(raw_input())
number_b = float(raw_input())

add(number_a, number_b)
于 2013-05-07T13:14:14.100 に答える
2

%d10進整数をフォーマットします。フロート%fをフォーマットします:

def add(a, b):
    print "ADDING %f + %f" % (a, b)
    return a + b
于 2013-05-07T13:14:15.123 に答える
0

%finteger の代わりにfloat 形式の文字列を使用します%d

于 2013-05-07T13:14:29.623 に答える
0

整数ではなく浮動小数点数の書式設定シーケンスを使用する必要があるため、次のようになります。

print "ADDING %d + %d" % (a, b)

次のようにする必要があります。

print "ADDING %f + %f" % (a, b)
于 2013-05-07T13:14:44.150 に答える
0
def add(a, b):
    print "ADDING {0} + {1}".format(a, b)
    return a + b

>>> add(1, 2)
ADDING 1 + 2
3
>>> add(1.5, 3)
ADDING 1.5 + 3
4.5
于 2013-05-07T13:15:18.213 に答える