以下の Python スクリプトには間違いがあります。間違い箇所と正しいコードを解説します。

num = int(input('整数を入力してください>>'))
if num % 3 and num % 5 == 0:
    print('KCG python')
elif num % 3 == 0:
    print('KCG')
elif num % 5 == 0:
    print('python')
else:
    print('integer')

間違いは、

if num % 3 and num % 5 == 0:
    print('KCG python')

の部分です。

正しい条件判定は、

if num % 3 == 0 and num % 5 == 0:
    print('KCG python')

となります。

このコードでは、num が 3 で割り切れる かつ 5 で割り切れる場合に 'KCG python' を出力するようになっています。しかし、元のコードでは if num % 3 and num % 5 == 0 となっていて、and 演算子の優先順位が考慮されていません。そのため、num % 3 が真であれば常に True となり、意図した条件判定が行われていませんでした。

and 演算子は左から右へ評価され、いずれかの条件が偽であれば以降の評価は行われません。そのため、num % 3 == 0num % 5 == 0 の両方が真である場合のみ True となります。

正しいコードでは、num % 3 == 0num % 5 == 0 の両方に == 0 をつけて比較することで、意図した条件判定を行うことができます。

Python スクリプトのエラー - 'KCG python' の条件判定修正

原文地址: https://www.cveoy.top/t/topic/qFEO 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录