「xrange」関数に関して-(Python3では「range」)ループ内でネガティブチェックを行うとどうなりますか?この場合、負の数はエッジケースと見なすことができますが、常にNoneを返します。何か洞察はありますか?
問題は、forループ内で数値が負であるかどうかを確認していることです。たとえば、x = -3の場合、範囲(2、-1)でforループを実行しようとしています。これはNoneです。したがって、forループは実行されないため、Trueを返します。
def isprime(x):
if x<=0:
return(False)
for a in range(2,(x//2)+1):
if(x%a==0):
return(False)
return(True)
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加