Python での割り算の確認: 別の視点
ある数値が別の数値で割り切れるかどうかを判断するタスクに直面したとき、多くの開発者は本能的に割り算と余りの確認に頼ります。ただし、このアプローチは、特に Python の除算のさまざまな解釈のコンテキストにおいて、落とし穴につながる可能性があります。
Python 2.x では、デフォルトの動作は整数の除算であり、剰余は破棄されます。これは、除算演算子は、ゼロ以外の剰余の存在に関係なく、常に整数を生成することを意味します。その結果、isinstance を使用して整数をテストしても意味のある区別は得られません。
一方、Python 3.x では、除算はデフォルトで浮動小数点演算になり、次の場合でも浮動小数点値が生成されます。整数。その結果、数値が数学的に割り切れる場合でも、isinstance チェックは失敗します。
より良い方法: 救済への法演算子
より効果的なアプローチは次のとおりです。モジュラス演算子 % を使用します。式 n % k == 0 は、n が k で割り切れる場合にのみ True を返します。この方法は、割り算に伴う曖昧さを排除して、割り算の基準に直接対処します。
解決策の例
この知識を踏まえて、割り算を正しくテストできるようにコードを変更してみましょう。
<code class="python">n = 0 s = 0 while n < 1001: if (n % 3 == 0) or (n % 5 == 0): s += n n += 1</code>
このソリューションは、法演算子を使用して 3 と 5 の両方で割り切れるかどうかを確認し、どちらかの条件を満たす数値を効果的に除外します。その結果、元の問題に対するより正確で堅牢な解決策が得られます。
以上がPython で割り算の落とし穴を避けて割り算をチェックするには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。