【发布时间】:2020-04-20 22:34:50
【问题描述】:
有人可以向我解释为什么这段代码也适用于 2:
def is_prime_v1(n):
'''Return True if 'n' is prime. False otherwise.'''
if n == 1:
return False
for d in range(2,n):
if n % d == 0:
return False
return True
当代码到达时
for d in range(2,n):
if n % d == 0:
return False
return True
它不会将其视为从 2 开始,而是向上且不包括 2 吗? 这对我来说并不完全有意义。 该公式有效,但如果您尝试在该范围内创建一个列表,如下所示:
x = list(range(2,2))
你得到一个空列表。
请谁能给我解释一下?它是否也适用于两个,因为它无法在 range(2,2) 上执行以下操作,然后向下移动以返回 True?
if n % d == 0:
return False
return True
谢谢
【问题讨论】:
-
我的意思是,如果它说
for d in []:,你会被这种行为弄糊涂吗?将范围转换为列表不会改变元素的数量。
标签: python python-3.x range