Python での割り算の確認: 別の視点
ある数値が別の数値で割り切れるかどうかを判断するタスクに直面したとき、多くの開発者は本能的に次のように考えます。割り算と余りの確認に頼ります。ただし、このアプローチは、特に Python の除算のさまざまな解釈のコンテキストにおいて、落とし穴につながる可能性があります。
Python 2.x では、デフォルトの動作は整数の除算であり、剰余は破棄されます。これは、除算演算子は、ゼロ以外の剰余の存在に関係なく、常に整数を生成することを意味します。その結果、isinstance を使用して整数をテストしても、意味のある区別はできません。
一方、Python 3.x では、除算はデフォルトで浮動小数点演算になり、次の場合でも浮動小数点値が生成されます。整数。その結果、数値が数学的に割り切れる場合でも、isinstance チェックは失敗します。
より良い方法: 救済への法演算子
より効果的なアプローチは次のとおりです。モジュラス演算子 % を使用します。式 n % k == 0 は、n が k で割り切れる場合にのみ True を返します。このメソッドは、割り算に関連する曖昧さなしに、割り算の基準に直接対処します。
解決策の例
この知識を身につけて、割り算を正しくテストできるようにコードを変更しましょう。
n = 0
s = 0
while n このソリューションは、法演算子を使用して 3 と 5 の両方で割り切れるかどうかを確認し、どちらかの条件を満たす数値を効果的に除外します。その結果、元の問題に対するより正確で堅牢な解決策が得られます。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3