2016-04-29 3 views
0

私はプログラミングの初心者ですから、誰も助けてくれることを願っていました。私は整数nを与えられたプログラムをPythonで書こうとしていますが、それはsylvesterシーケンスの対​​応する項を返します。私のコードは以下の通りです:GitbashでPythonコードを実行する

x= input("Enter the dimension: ") 
    def sylvester_term(n): 
    """ Returns the maximum number of we will consider in a wps of dimension n 

    >>> sylvester_term(2) 
    7 
    >>> sylvester_term(3) 
    43 
    """ 
    if n == 0: 
     return 2 

    return sylvester_term(n-1)*(sylvester_term(n-1)-1)+1 

は今、私の質問は次のとおりですGitBashでこれを実行しようとしたとき、私はあなたが何を私知っている、入力にn個を尋ねたのですが、その後の答えが表示されません答えを返すことができますか?しかし、コードをもう少し続けて、私が必要とするいくつかの他のデータを計算する予定ですが、コードをテストするためにコードをテストした後で、どうすればいいか分かりませんそれ?

+0

コマンドライン引数を使用していますか。もしそうなら、あなたは私たちにプログラムの全体を示すことができますか? –

+0

私はコマンドライン引数を取っているとは思わないし、現時点ではこれはコードのすべてです。 – urpi

+0

これがコード全体であれば、入力を処理していない場合よりも何も起こりません。 – Viliami

答えて

0

あなたは追加する必要があります。

print(sylvester_term((int(x))) 

をあなたのプログラムの最後に答えを印刷します。

PythonのInput()関数が文字列を変数に格納するため、キャストする必要があります。だからあなたが5を入力すると、それは返されます"5"

これは例外を処理しません。例えば、ユーザが文字を入力した場合、tryとexcept文に入れるべきです。

+0

ありがとう!それは問題を解決しました!私は例外を考慮する! 1つの質問は、私がBashでそれを入力すると、数値として整数を読み取っていないのですか? – urpi

+0

@urpiいいえ、Pythonはすべての入力(input()関数を使用している場合)を文字列として読み取ります。解説を更新しました。 – Viliami

0

私はそれをどのように扱うかの例です。 sys.argvを使用すると、コマンドラインから渡された引数を取得できます。

sys.argv[1] 

それが完了したら、あなたは、単にそう

のように、あなたの関数を呼び出すことができます:最初の引数は、第二引数に興味を持っているので、あなたはそのようにそれを得ることができ、常にPythonインタプリタへのパスです
print(sylvester_term(int(sys.argv[1])) 
関連する問題