2017-10-03 11 views
0
は、だから、私はコースを完了するために、何かを検証しようとしている

が、それは私にこれらのエラーを与えてきた。Pythonの検証問題

R:197、4:if文は、(テスト)の戻りブール値」で置き換えることができた場合'(simplifiable-if文)

R:197、4:不要な "他の" "リターン"(無他のリターン)

後、私は、私は完全にないんだけど、一般的にそうコーディングに新たなんです私のコードにreturn bool(test)をどのように実装するかについては確かです。みんなが私を助けてくれると願っていますか?私は、pythonが本当にインデントに敏感であることを知りました。そのため、私は2番目のエラーについてよく分かりません。ここでは、コードは次のようになります。

def in_range(number): 
    """ 
    True or false 
    """ 
    if number > 50 and number < 100: 
     return True 

    else: 
     return False 

answer = in_range(90) 

答えて

1

あなたがにそれを短縮することができます。ちょうどそれを包む、あなたはそれにもかかわらずbool()を使用する必要がある場合は、

def in_range(number): 
    """ 
    True or false 
    """ 
    return 50 < number < 100 

answer = in_range(90) 
print(answer) 

...または:

return bool(50 < number < 100) 
0

フレーズnumber > 50 and number < 100はブール値に評価されます。そのフレーズを単純化すると、TrueまたはFalseとなるので、効果的にif True: return Trueと言うのは冗長です。結果としてifステートメントを単純化することができます。

0

これらは致命的なエラーメッセージではなく、わかりやすいものでなければなりません。すべてのインタプリタが言っているアルゴリズムは、より良い

def in_range(number): 
    return 50 < number < 100 
0

のpythonはif number > 50 and number < 100:を解釈すると、表現number > 50 and number < 100の結果はboolに変換した後、第一又は第二のブロックを実行する(Trueまたはお使いの場合はFalseを返す)のように記述することができるということです。したがって、number > 50 and number < 100を返すだけのステートメントを単純化することができます。

def in_range(number): 
    """ 
    True or false 
    """ 
    return number > 50 and number < 100 

answer = in_range(90) 

しかし、あなたがここに機能を必要としないようだ:

answer = bool(100 > number > 50)