2016-10-06 13 views
-6

私は非常にPythonには新しく、現在は所得税計算機に取り組んでいます。私がしたいと思う最初のステップは、結婚している場合は1を押して、1つの場合は2を押します。このコードを修正するには何が必要ですか?私のIDEはPythonの条件付き構文エラー

 print ("If you are married press 1 if you are single press 2") 
     answer = raw_input("") 
     if (answer == 1) 
      { 
       print "Enter your income"; 
      } 
      elif (answer == 2): 
      { 
       print "Enter your income"; 
      } 
+1

'if(answer == 1):'の最後にコロン ':'を忘れてしまいます。また、*してください* *してください*これらの中括弧を取り除く。 – idjaw

+0

中括弧を取り除くことに加えて、 'if'条件の前後にある親子も余りにも冗長であることがわかります。私はこの質問が間違ってタグ付けされていなかったと信じていました。 –

+0

python2の 'raw_input'とpython3の' input'は文字列を返します。整数ではありません。 'int(answer)'を実行するか、 'answer == '1'を実行する必要があります。ああ、Pythonは中括弧を使いません。 –

答えて

1

Pythonの他のほとんどの言語のように中括弧を使用していない「(回答== 1)があれば、」3行目の構文エラーがあると言います。その代わりにコロン:と空白を使用してブロックを決定します。すべての行の最後にセミコロン;は必要ありません(そして置くべきではありません)。さらに、if/while/etcの条件を括弧で括る必要はありません。 statements.Thisあなたのコードを書くための正しい方法である:まず

print ("If you are married press 1 if you are single press 2") 
answer = raw_input("") 
if answer == 1: 
    print "Enter your income" 
elif answer == 2: 
    print "Enter your income" 
1

、あなたが最初のif:を忘れてしまいました。第二に、あなたは{}をPythonで必要としません、それはifまたはwhileの中にあるものを知るためにタブスペースを使います。第三に、あなたはそうint(raw_input())としてそれを行うことができますintにraw_input()を変換する必要があり、そしてあなたもその中

""を配置する必要はありません、Pythonは、そう結局;

を必要としません。コードは次のようになります

print ("If you are married press 1 if you are single press 2") 
answer = int(raw_input()) 
if (answer == 1): 
    print "Enter your income" 
elif (answer == 2): 
    print "Enter your income"