2016-12-03 8 views
1

私は単純な数の推測ゲームを書いています。私はSublimeREPLまたは自分のコンソールで実行するコードを取得できません。 Team TreehouseのWorkspacesプログラムで実行できる唯一の方法は、それが想定されているとおりに動作します。しかし、私のコンソールとSublimeREPLの両方には、複数のインデントエラーがあると言われています。何を与える?私はPythonがインデントについて細かいことを知っているので、各タブが4つのスペースになるように私の崇高な設定を変更するようにしましたが、まだ実行されません - 約10のインデントエラーをスローします。そうなっている。私は結果のない複数の検索を試みましたが、私はそのような単純なプログラムを走らせることができないのです。つまり、ある環境ではコードを動作させるが、別の環境では動作させないのはなぜですか?このコードは、チーム・ツリーハウスで完璧に動作私のコードはあるプログラムで実行されますが、他のプログラムでは実行されないのはなぜですか?

import random 

#safely make an int 
#limit guesses 
#too high, too low, messages 
#play again 

def game(): 
    #generate number 
    secret_number = random.randint(1, 10) 
    guesses = [] 

    while len(guesses) < 5: 
     try: 
      #get num guess from user 
      guess = int(input("Guess a number between 1 and 10: ")) 
     except ValueError: 
      print("That's not a valid number, try again.") 

     else: 
      #compare guess to secret number 
      if guess == secret_number: 
       #print hit/miss 
       print("You got it! My number was {}".format(secret_number)) 
       break 
      else: 
       print("That's not it! Guess again!") 
      guesses.append(guess) 

game() 

注:私はここに

コードです...コピーして、それは違うではないですので、コードを貼り付けています。ここ は、私がSublimeREPL、私の端末で受信エラーです:

Guess a number between one and ten: Traceback (most recent call last): 
    File "<stdin>", line 2, in <module> 
    File "<string>", line 1 
    if guess == secret_num: 
    ^
SyntaxError: invalid syntax 
>>> File "<stdin>", line 1 
    print("You got it!") 
    ^
IndentationError: unexpected indent 
>>> File "<stdin>", line 1 
    break 
    ^
IndentationError: unexpected indent 
>>> File "<stdin>", line 1 
    else: 
    ^
IndentationError: unexpected indent 
>>> File "<stdin>", line 1 
    print("That's not it!") 
    ^
IndentationError: unexpected indent 
>>> >>> 

私は真剣に私は私のマシン上で自分のコードを持つことができるワークスペース以外のツールを使用することを好むだろうが、私はこのコードがあれば知りません実際に働くかどうか、または私はちょうど迷惑メールを学習する時間を無駄にしている場合...

+2

これはおそらく、スペースやタブをインデントするために混同していることを意味します。いくつかのIDEはこれをうまく扱いますが、そうでないものもあります。 – Carcigenicate

+0

私はpycharmが自動的にあなたのためにこれを多く修正することができます知っている。他の多くの編集者もそうだと思います。 – bravosierra99

+0

IDEで動作するIDEに、すべてのインデントをスペースまたはタブに変換するオプションがあるかどうかを確認します。次に、インデントしているものが一貫していることを確認します。 – Carcigenicate

答えて

0

コードを昇華させて、右下のSpaces:4/Tab Size: 4をクリックしてください。ドロップダウンリストでIndent using spacesをクリックします。それはあなたの混合タブとスペースの問題を修正する必要があります。

+0

私はそれを行い、すべてのインデントを削除し、タブとして入力してから削除して、スペースとして入力しても機能しませんでした。 –

0

PEP-8によると、インデントは4つのスペースで構成する必要があります。既にタブを使用している大規模な旧式のPython 2プロジェクトで作業している場合を除き、タブは使用しないでください。

、すべてのスペースにあなたのインデントを変更するView → Indentationを選択し、Indent Using SpacesTab Width: 4が選択されていることを確認します。次に、既存のタブをスペースに変更するには、View → Indentation → Convert Indentation to Spacesを選択します。インデントが正しいことを確認するためにファイル全体を確認し、保存して実行してください。

+0

ちょうどそれと同じエラーが発生しました。面白いのは、ワークスペースでこのコードを使用すると(チームツリーハウスからの部分的なIDE)完全に実行され、期待どおりに動作することです。しかし、私はワークスペースで使用するソフトウェアを書いてはいけません。私はあなたが取得しているエラーやトレースバックの** –

+0

@LouieWilliford **全文を含めるためにあなたの質問を編集してください.....無用である私が学んで何がそうでない場合は、他のプログラムや他のマシンで仕事をしたいので、私たち何がうまくいかないかを正確に見ることができます。 – MattDMo

+0

あなたのために編集されました!あなたの助けをありがとう、本当にありがとうございました。これは真剣に私を2日間拘束し続けています!! –

関連する問題