2016-04-23 10 views
-4

1.0より大きいスコアを入力すると、最後のelse文は実行されず、「値が範囲外です」行は印刷されません。 コードは以下の通りです:score = 1.0 >= 0.0 == True実行されていない最後のelse文

が代わりにしてみますので

score = float(raw_input("Enter Score: ")) 

if score>= 0.0: 

    if score <= 1.0: 
     if score >= 0.9: 
      print 'A' 
     elif score >= 0.8: 
      print 'B' 
     elif score >= 0.7: 
      print 'C' 
     elif score >= 0.6: 
      print 'D' 
     else: 
      print 'F' 
else: 
    print 'Value out of range' 
+1

ダブルチェックあなたのインデントを凹みしbracetsを使用する言語では、外のinsted、それはPythonで重要です...また、ロジックを単純化する - その最初の行を '0.0 <= score <= 1.0: 'にします。 – jonrsharpe

+0

最後の2行を1レベルインデントします。 –

+0

ありがとう。今働いている。 – Bakhtawar

答えて

1
if score >= 0.0 and score <= 1.0: 
    if score >= 0.9: 
     print 'A' 
    elif score >= 0.8: 
     print 'B' 
    elif score >= 0.7: 
     print 'C' 
    elif score >= 0.6: 
     print 'D' 
    else: 
     print 'F' 
else: 
    print 'Value out of range' 

あるいは、

if score>= 0.0: 
    if score <= 1.0: 
     if score >= 0.9: 
      print 'A' 
     elif score >= 0.8: 
      print 'B' 
     elif score >= 0.7: 
      print 'C' 
     elif score >= 0.6: 
      print 'D' 
     else: 
      print 'F' 
    else: 
     print 'Value out of range' 
+0

ありがとうございました...その作業は今 – Bakhtawar

+0

@downvotersいくつかのコメントは私が私の答えを改善することができます。 – AKS

-1

if score >= 0.0 and score < 1.0: 
0

をあなたの他に属しているためであります「スコア> = 0.0」であり、「スコア< = 1.0」ではない。 これはpythonのインデントで示されます。

0

"else"ステートメントを "if"に設定しました もう一度コードを見てください。

私はそれに注意する必要があるので、pythonインデントブロックではスペースで作られています。

uは、他のプログラミング言語の経験を持っている場合、それはあなたが内部のコードを配置するだろうというときのようなものですが、「{}」

関連する問題