0

コラッツ予想のステートメントをユーザーが入力できる整数に適用する簡単なプログラムを作成しようとしています。

def collatz(n):
    print n,
    if n % 2 ==0:
        n = n / 2
    elif n == 0:
        Print "Collatz Conjecture true for" , 'n'
    else:
        n = n *3 + 1

input("\n\nInsert a positive integer:")
def collatz(n)

ただし、次の行に構文エラーがあると言っています。

Print "Collatz Conjecture true for" , 'n'

この行で何が間違っているのかわかりません。

また、まだテストできていないので、これはうまくいくように見えますか?

4

4 に答える 4

3

Python では大文字と小文字が区別されます。「印刷」ではなく「印刷」を使用してください。

于 2011-10-30T20:34:54.353 に答える
3

さて、あなたの構文エラーは、python が大文字と小文字を区別するということprintですPrint

しかし、さらに問題があります。

  • 'n'文字列を出力しますn。あなたが望むのは、変数の値を出力することだと思いnます(そうでない場合は、単一の文字列「... true for n」を作成できます)。

  • 最後に (私が思うに)、関数を実行するために;collatzは必要ありません。defそれは定義のためだけです。

于 2011-10-30T20:39:28.813 に答える
2

その他の問題:

  1. 停止条件はn == 1ではなくである必要がありn == 0ます。
  2. 1 つのステップしか作成していないため、反復または反復する必要があります。
  3. 入力をチェックして、それが本当に正の数であることを確認してください。
于 2011-10-30T20:46:06.280 に答える