所以我得到了这段代码。它有效(它说 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
我的问题是,如果我将第四行更改为: if n % i == 0 or n == 1:
,它就不起作用(它说 1 是素数。)
这是为什么?既然我正在使用or
它们中的任何一个是否应该是 True 所以订单不计算在内?
(我还在学习布尔,所以我可能会犯一些基本的错误。)
提前致谢!
编辑:感谢您的回答;我从来没有意识到我的range()
功能问题。关于代码工作和不工作:我不知道发生了什么。我可能在途中的某个地方犯了一些错误(可能在运行脚本之前忘记保存。虽然我可以发誓它的工作方式不同:P)。也许我只是累了...
无论如何,感谢您的回答!