2016-06-30 10 views
-1

私は単純なプログラムを実行しようとしていますが、この構文エラーを乗り越えることはできません。構文SyntaxError:構文が無効ですか?

try: 
    grade = float(raw_input("Enter a score between 0.0 and 1.0:\n")) 
    if grade < 0 or grade > 1 
     print ("That is not between 0.0 or 1.0") 
    elif grade >= .9 
     print ("A") 
    elif grade >= .8 and grade < .9 
     print ("B") 
    elif grade >= .7 and grade < .8 
     print ("C") 
    elif grade >= .6 and grade < .7 
     print ("D") 
    else grade < .6 
     print ("F") 

except: 
    print ("Enter a numeric value!") 

グレード< 0またはグレード> 1場合、私は取得エラーは、3行目です:にSyntaxError:無効な構文。助けて?

+0

あなたはifとelse文の後にコロンが必要です。 'グレード<0かグレード> 1の場合: –

答えて

3

ifelifおよびelse(他のコードとともに)は、行の最後にコロンを必要とします。たとえば:

if grade < 0 or grade > 1: 

はまた、elseはキャッチオールであるため、条件を使用していません。

else: 
+0

Tigerhawkありがとうございました。しかし、コロンを追加しても、else文の13行目にエラーが表示されます...アドバイスできますか? – HotChile

+0

@HotChile - コードのその時点で、「成績」は0.6未満である必要があります。 'elifグレード<0.6'でそれを明示的に(重複して)チェックしたり、else文を使うことができます。 'else'文は条件を取りません。 [チュートリアルの該当するセクション](https://docs.python.org/3.5/tutorial/controlflow.html#if-statements)を参照してください。 – TigerhawkT3

+0

私はあなたが何を意味するかを見て、私はちょうど条件を出してelse文を出します。ありがとう! – HotChile

0

注(のelif)であれば、他の場合の構文、およびelse文は

try: 
    grade = float(raw_input("Enter a score between 0.0 and 1.0:\n")) 
    if grade < 0 or grade > 1: 
     print ("That is not between 0.0 or 1.0") 
    elif grade >= .9: 
     print ("A") 
    elif grade >= .8 and grade < .9: 
     print ("B") 
    elif grade >= .7 and grade < .8: 
     print ("C") 
    elif grade >= .6 and grade < .7: 
     print ("D") 
    else: 
     print ("F") 

except: 
    print ("Enter a numeric value!") 
+0

行13、またはelse文で構文エラーが発生しています:無効な構文....ヘルプ? – HotChile

+0

@HotChile申し訳ありません、更新された回答を確認してください。 Elseは、以前に定義された条件の外にあるものすべてをキャッチします。 –

関連する問題