1

を使用,すると、複数のprintステートメントを同じ行に書き込むことができます。

print 'hello',
print 'world'

問題:関数によって返された値を出力するとき、複数の関数呼び出しによって返された値を同じ行に出力するにはどうすればよいですか?

次のコードは、各関数によって返された値を別の行に出力します。

import math


def square_root(a):

    x = a
    e = 0.0000001

    while True:

        print x
        y = (x + a/x)/2

        if( abs(x - y) < e ):
            return x

        x = y


def test_square_root():

    for i in range(1,10):

        print float(i),
        print square_root(float(i)),
        print math.sqrt(float(i)),
        print abs( square_root(float(i)) - math.sqrt(float((i))) )

test_square_root()
4

2 に答える 2

3

を取り外します

print x

関数内。それが、ラインが「途中で」終了する原因です。

于 2013-10-02T00:33:31.653 に答える
1

test_square_root()関数の最後の print ステートメントにコンマを追加します。

print abs( square_root(float(i)) - math.sqrt(float((i))) ),

または、出力する代わりに、関数から各項目を生成できます。

def test_square_root():
    for i in range(1,10):
        yield float(i)
        yield square_root(float(i))
        yield math.sqrt(float(i))
        yield abs( square_root(float(i)) - math.sqrt(float((i))) )

for item in test_square_root():
    print item,
于 2013-10-02T00:32:02.907 に答える