检查数字是否为素数的函数
Function to check if number is a prime number
def is_prime(n):
if n >= 2:
for i in range(2, n):
if not (n % i):
return False
else:
return False
return True
我试图编写一个代码,如果一个数字是质数,它会检查。我在互联网上找到了这段代码,效果很好。但是,我对编码还比较陌生,所以我想知道是否有人可以为我解释最后两行。为什么 return True
在 return False
之后?
return False
在 else
块内,而 return True
只有 运行 如果 if
成功。
同样程序的另一种写法
def is_prime(n):
if n >= 2:
for i in range(2, n):
if not (n % i):
return False
return True # Return True here, instead of at the end
else:
return False
这完全相同,我只是将 return True
语句移到第一个 if
块中。
return True
告诉 python 到 return 布尔值 True
,return False
告诉 python 到 return False
的布尔值。如果用某个数字调用该函数得到 True
,则该数字是质数。否则,它不是质数。
如果您查看语句 if n >= 2
,您会注意到它对大于 2
的任何数字进行所有主要计算。如果传递的数字 n
小于 2 会怎样?那么,else
语句就被调用了。因此,当 n
为 0 或 1 时,您就知道它不是质数。因此,执行 return False
表明该数不是质数。
来到另一条线。当所有的计算都完成并且 return False
甚至没有执行一次时,解释器到达函数的最后一行并执行 return True
这告诉数字是素数。
例子
当n = 6
语句 n >= 2
的计算结果为 True,因此执行 for 循环。当循环变量 i
的值为 2 时,行 if not (n % i)
的计算结果为 True,然后执行 return False
表明 n
不是质数。
当n = 5
语句 n >= 2
的计算结果为 True,因此执行 for 循环。 i
的 None 个值可以被 n
整除,因此,没有 return 语句被执行。最后,到达函数的最后一行并执行 return True
,表明 n
是质数。
当n = 0
语句 n >= 2
的计算结果为 False。因此,执行 else
语句下的 return False
语句,表明 n
不是质数。
def is_prime(n):
if n >= 2:
for i in range(2, n):
if not (n % i):
return False
else:
return False
return True
我试图编写一个代码,如果一个数字是质数,它会检查。我在互联网上找到了这段代码,效果很好。但是,我对编码还比较陌生,所以我想知道是否有人可以为我解释最后两行。为什么 return True
在 return False
之后?
return False
在 else
块内,而 return True
只有 运行 如果 if
成功。
同样程序的另一种写法
def is_prime(n):
if n >= 2:
for i in range(2, n):
if not (n % i):
return False
return True # Return True here, instead of at the end
else:
return False
这完全相同,我只是将 return True
语句移到第一个 if
块中。
return True
告诉 python 到 return 布尔值 True
,return False
告诉 python 到 return False
的布尔值。如果用某个数字调用该函数得到 True
,则该数字是质数。否则,它不是质数。
如果您查看语句 if n >= 2
,您会注意到它对大于 2
的任何数字进行所有主要计算。如果传递的数字 n
小于 2 会怎样?那么,else
语句就被调用了。因此,当 n
为 0 或 1 时,您就知道它不是质数。因此,执行 return False
表明该数不是质数。
来到另一条线。当所有的计算都完成并且 return False
甚至没有执行一次时,解释器到达函数的最后一行并执行 return True
这告诉数字是素数。
例子
当
n = 6
语句
n >= 2
的计算结果为 True,因此执行 for 循环。当循环变量i
的值为 2 时,行if not (n % i)
的计算结果为 True,然后执行return False
表明n
不是质数。当
n = 5
语句
n >= 2
的计算结果为 True,因此执行 for 循环。i
的 None 个值可以被n
整除,因此,没有 return 语句被执行。最后,到达函数的最后一行并执行return True
,表明n
是质数。当
n = 0
语句
n >= 2
的计算结果为 False。因此,执行else
语句下的return False
语句,表明n
不是质数。