编写一个 Python示例,使用 For 循环、While 循环和函数来查找质数。除 1 以外不能被任何其他数整除的自然数,其本身称为质数。
质数:2、3、5、7、11、13、17、19、23、29、31、37、41、43、47、53、59、61、67、71、73、79、83、89、97、101、103、107、109 等。2 是唯一的偶数。
该程序允许用户输入任何整数值。接下来,这个 Python示例使用 For 循环检查给定的数字是否是质数。
Number = int(input(" Please Enter any Number: "))
count = 0
for i in range(2, (Number//2 + 1)):
if(Number % i == 0):
count = count + 1
break
if (count == 0 and Number != 1):
print(" %d is a Prime Number" %Number)
else:
print(" %d is not a Prime Number" %Number)
在 for 循环中,有一个 If 语句来检查被 I 整除的值是否正好等于 0。如果条件为真,则计数值递增,然后执行中断语句。接下来,我们使用另一个 If 语句来检查 Count 是否为零,Num 是否不等于 1。
用户在上面的 Python示例中输入整数来检查质数示例是 365
第一次迭代:对于 I 在范围(2,365//2) 意味着,对于 I 在范围(2,182.5)–条件为真 现在,检查 if 条件–if(365% 2 = = 0)。如你所知,条件是假的 接下来,我变成 3
对剩余的和迭代进行同样的操作
接下来,进入 Python If 语句。如果(计数== 0 & &个数!= 1 ).在上面的所有迭代中,如果条件失败,那么计数值没有从初始化 0 开始增加。我们使用的是 365(不是零)。所以,条件是真,也就是质数。
这个 Python示例和上面的一样。我们刚刚将上面 python 程序中的 For 循环替换为 While 。
Number = int(input(" Please Enter any Num: "))
count = 0
i = 2
while(i <= Number//2):
if(Number % i == 0):
count = count + 1
break
i = i + 1
if (count == 0 and Number != 1):
print(" %d is a Prime" %Num)
else:
print(" %d is not a Prime" %Num)
Please Enter any Num: 14
14 is not a Prime
>>>
Please Enter any Num: 109
109 is a Prime
这个 python 程序与第一个示例相同。然而,我们通过定义新的函数来分离逻辑。
def finding_factors(Number):
count = 0
for i in range(2, (Number//2 + 1)):
if(Number % i == 0):
count = count + 1
return count
Num = int(input(" Please Enter any Num: "))
cnt = finding_factors(Num)
if (cnt == 0 and Num != 1):
print(" %d is a Prime" %Num)
else:
print(" %d is not a Prime" %Num)
Please Enter any Num: 44
44 is not a Prime
>>>
Please Enter any Num: 139
139 is a Prime
标签: 心情