2017-04-21 3 views
-1

10の倍数のうち2つ以内に所定の数(num)があるかどうかを調べる関数を書く必要があります。余りを得るためにモジュラス(%かなりうまく動作しているようには見えません。助けて?Mod残数:numが10の倍数の2の範囲内にある場合

def nearten(num): 
    if num%10<=2: 
     return True 
    elif num%10>2: 
     return False 
+0

ようこそStackOverflow。ヘルプドキュメントの投稿ガイドラインを読み、それに従ってください。 [最小、完全で検証可能な例](http://stackoverflow.com/help/mcve)がここに適用されます。 MCVEコードを投稿して問題を正確に記述するまでは、効果的にお手伝いすることはできません。 – Prune

答えて

1

すべてのほとんどは、あなただけの「もの」の数字が0、1、または2であるかどうかをチェックする - あなたはスタイリング注意点として8および9

を逃し、チェックしません。ブール式を使用し、見つかった結果をハードコードします。現在書かれているとおり、あなたの関数は次のようになります。

def nearten(num): 
    return num%10 <= 2 

これはどのように機能しますか?まず最初に、elifのチェックでは、新しい情報は得られません。の条件の場合、を超えると、が> 2である必要があります。

次に、あなたの文は冗長だ

if this condition is true, return true 
otherwise, we know it's false; return false. 

のように読み取ります。 True/Falseの値をプログラムの手の中に置いてください。定数を使用する代わりに、その値を返してください。


修理...

は、私が学生のための運動としてこれを残しておきます:2あなたは、両側をチェックするために持っているので、あなたはケースをピックアップする必要があることを意味し、「内」 1桁は8または9です。これを行う式を書くことができますか?

+0

ああ、私のゴシ!それは今よりずっと意味があります、ありがとうございます! – jay

-1
def near_ten(num): 
    if num%10<=2 : 
     return True 
    elif num%10 >=8: 
     return True 
    else: 
     return False 
関連する問題