だから私はこのコードのスニペットを持っています。そしてそれは機能します(1は素数ではないと言います):
n = 1
s = 'prime'
for i in range(2, n / 2 + 1):
if n == 1 or n % i == 0:
s= 'non-' +s
break
print s
私の問題は、4 行目を : に変更するとif n % i == 0 or n == 1:
、機能しないことです (1 が素数であると表示されます)。
何故ですか?私が使用してor
いるので、それらのいずれかがTrueであるため、注文はカウントされませんか?
(ブール値についてはまだ学習中なので、基本的な間違いを犯している可能性があります。)
前もって感謝します!
編集:答えてくれてありがとう。私はrange()
関数の問題に気づきませんでした。そして、コードが機能していて機能していないことについて: 何が起こったのかわかりません。途中でどこかで間違いを犯した可能性があります(スクリプトを実行する前に保存するのを忘れた可能性があります。ただし、別の方法で動作することを誓った可能性があります :P )。疲れてるだけなのかな…
とにかく答えてくれてありがとう!