0

このコードを印刷しようとしていますが、Python 2.7 で印刷コマンドを使用するとエラーが発生し続けます

。そのため、インタープリターがこのプログラムを読み取って実行する方法をよく理解しています。画面に結果を表示するために「print s」を配置するのに理想的な場所はどこですか? どうもありがとうございました。

n = raw_input('input an integer value to compute its factorial:\n')
n = int(n)

def f(n):
    if n==0:                    
        return 1                
    else:
        m = f(n-1)
        s = n * m
        return s
4

3 に答える 3

3

私の経験から、おそらくこれに近いものが必要になるでしょう:

def f(n):
    if n==0:                    
        return 1                
    else:
        m = f(n-1)
        s = n * m
        return s

if __name__ == '__main__':
    n = raw_input('input an integer value to compute its factorial:\n')
    n = int(n)
    result = f(n)
    print result
    # or alternatively for the last two lines, if you don't want to save the result
    print f(n)

これは、このスクリプトを IDLE から (またはコマンド ラインから直接) 実行すると、if __name__ブロックが実行されますが、それ以外の場合は関数を定義するだけです。

于 2013-08-06T03:03:20.197 に答える
3

の定義をfへの呼び出しの上に移動しますraw_input。最後に、次のように呼び出しfn結果を出力できます。

print f(n)

必要に応じて、結果を変数に格納できますが、ここには利点はありません。

result = f(n)
print result
于 2013-08-06T02:58:47.687 に答える
0

だけでなく関数の戻り値を出力したい場合は、戻り値をs保存してそれを出力できます。

n = raw_input('input an integer value to compute its factorial:\n')
n = int(n)

def f(n):
    if n==0:                    
        return 1                
    else:
        m = f(n-1)
        s = n * m
        return s

result = f(n)
print result
于 2013-08-06T02:58:10.080 に答える