2016-12-15 6 views
-3

私は反復プログラムを作成しようとしています。私はそれがやりたいことはある:反復whileループ構文エラー

N = 5429 = 7083 9542から2459のn = 7083 = 8352 8730から0378のn = 8352 = 6174 8532から2358のn = 6174 7641から1467 = 6174

I私のコードを入力してください(下記)、アイドルが

SyntaxError: expected an indented block

コードで応答:

number=input("enter your 4 digits number:") 
print("your number is",number) 
KAPREKAR_NUMBER="6174" 
i=0 
while number!=KAPREKAR_NUMBER: 
large="".join(sorted(number, reverse=True)) 
small="".join(sorted(number)) 
number=str(int(large)-int(small)) 
i+=1 
if number==KAPREKAR_TAL: 
print("it took ",i," iterations to solve the kaprekar aligoritm.) 
+0

こんにちは、インターンプログラムを作成しようとしています。私はそれがやりたいことはある:N = 5429 9542から2459 = 7083 N = 7083 8730から0378 = 8352 N = 8352 = 6174 8532から2358 N = 6174 7641から1467 = 6174 I私のコードを入力してください:アイドルは応答します:SyntaxError:インデントされたブロックがあります。 –

+0

インデントを修正してください。 Pythonは空白に敏感ですが、適切にインデントされていない場合は、どのサイズのコードでも解読できません。 _every_行のコードに最初の4つのスペースインデントを与え(コードブロックの書式設定/構文の強調表示を得るため)、実際のコードと一致するように相対インデントを修正します。このような障害が発生した場合、例外からのTraceback(例外メッセージを含む)をポストして、人々がエラーをより早く見つけられるようにします。オッズは、メッセージとトレースバックが問題を即座に特定します。 – ShadowRanger

答えて

0

あなたeditor.Pythonに(4つのスペース)あなたのタブをチェックしてくださいすることができことはくぼみを見て、コードブロックを理解しています。

-1

私はあなたがやろうとしていることを推測しています。次のバージョンでは、2つのインデントエラーと1つの文字列リテラルエラー(閉じ引用符なし)を含むいくつかの異なる構文エラーが取り除かれています。

あなたが最初に遭遇したエラーは、意図が間違っていたためでした。 Pythonはインデントに非常に厳しいです。インデントレベルを使用してコードブロックを定義します。ところで

number=input("enter your 4 digits number:") 
print("your number is",number) 
KAPREKAR_NUMBER="6174" 
i=0 
while number!=KAPREKAR_NUMBER: 
    large="".join(sorted(number, reverse=True)) 
    small="".join(sorted(number)) 
    number=str(int(large)-int(small)) 
    i+=1 

if number==KAPREKAR_NUMBER: 
    print("it took ",i," iterations to solve the kaprekar aligoritm.") 

、ここでの最後のifは冗長です。それは削除することができます(とちょうどprintを維持する)が、私はそれを元のコードに真実であるために含まれています。

+0

Python 3の 'input'はすでに' str'を返します。それを 'str'に"キャスト "する必要はありません。 Python 2のようにコードを書くのは間違いありませんが、OPがPy3というタグを付けました。 – ShadowRanger

+0

サイドノート:Python 2では、まだ 'str'に変換しません。 Py2の 'input'の安全でない/不安定な暗黙の' eval'を避けるために 'raw_input'を使うだけです。 – ShadowRanger

+0

十分に公正です。私はちょうど私ができる限り元のコードに忠実にしようとしていました。私は今、そのコメントを削除しました。 –