2012-02-09 10 views
0

次のPythonコードがすぐに最初の行を実行し、how many years?というプロンプトを表示しないのはなぜですか?Pythonコードが最初の行のプロンプトを表示しない

years=input('how many years?') 

amount=input('how much money?') 

if amount < 10000: 
    interest = 1.1 
    total = amount * interest 
    print total 
else amount >= 10000: 
    interest = 1.2 
    total = amount * interest 
    print total' 
+1

代わりに何をしますか?また、このPython 2または3はありますか? Python 2では 'input'ではなく' raw_input'を使いたいと思っています。 –

+0

printステートメントから判断すると、Python 2です。 –

+0

Python 2ですが、python 2の入力がeval(input ()をPython 3で使用しています。だから、文字列ではなく数値を取得する方法です。 – pycoder112358

答えて

3

は、あなたはそれが

elif amount >= 10000: 

をする必要があります

else amount >= 10000: 

で構文エラーを持っていて、あるべき最後の行に別の構文エラーを持っている

print total 

(つまり、を取り除く)

+0

ありがとう、 '私はここでそれを灰色の "コード"ボックスに入れるために投稿しました。 – ZCJ

+0

@ user1198611: "コード"ボックスを取得するには、すべてのコードを4つのスペースでインデントします。エディタでそれを選択し、Ctrl + Kまたは '{}'ツールバーボタンを押します。 –

1

if/else文で、amount> = 10000の条件がチェックされていません。

elif amount >= 10000: 

し、あなたのコードに並ぶ

変更は正常にコンパイルする必要があります。

+0

ありがとう、愚かな間違い。私はまだ1行目を直ちに実行するのではなく、なぜその行までずっと下っているのだろうと思っていますか? – ZCJ

+0

@ user1198611 http://docs.python.org/using/cmdline.htmlから: "非インタラクティブモードでは、入力全体が解析されてから実行されます。"その行までは行かなかったので、解析は失敗し、プログラムは決して実行されませんでした。 – prelic

+0

常に、常に、常にStackOverflowにエラーメッセージを提供してください。 –

0

2つの問題があります。

最初elifあるべきelseある、と私は

+0

はい、あなたは正しいです。助けてくれてありがとう – ZCJ

0

を投稿する代わりにPythonの実際のラインで正確にラインスクリプトを実行しているからであったかもしれない疑いあなたが投稿コードの末尾に目盛りがあります最初にを実行する前に、スクリプト全体を仮想マシン表現にコンパイルしてください。あなたのスクリプトに(else amount ...部分の)構文エラーが含まれていたため、Pythonはそれを実行しようとしたときにその旨を示していたはずです。

$ python test.py 
    File "test.py", line 9 
    else amount >= 10000: 
      ^
SyntaxError: invalid syntax 

Pythonがスクリプトの実行を開始する前に、この構文エラーを修正する必要があります。

関連する問題