Python判断一个数为素数代码

1. 流程步骤

为了判断一个数是否为素数,我们可以采用以下步骤:

步骤 描述
1 读取用户输入的数
2 判断数是否小于等于1
3 判断数是否能被2整除
4 判断数是否能被大于2且小于等于数平方根的整数整除
5 如果满足以上条件,则数为素数;否则不是素数

2. 代码实现

下面是每一步需要做的事情以及相应的代码实现:

步骤 1:读取用户输入的数

我们可以使用input()函数来获取用户输入的数,然后使用int()函数将输入的字符串转换为整数类型。

num = int(input("请输入一个正整数: "))

步骤 2:判断数是否小于等于1

对于小于等于1的数,它们不是素数。因此,我们可以使用一个简单的条件语句来判断数是否小于等于1。

if num <= 1:
    print(num, "不是素数")
    exit()  # 结束程序

步骤 3:判断数是否能被2整除

判断一个数是否能被2整除可以通过使用取模运算符%。如果一个数能被2整除,那么它不是素数。

if num % 2 == 0:
    print(num, "不是素数")
    exit()

步骤 4:判断数是否能被大于2且小于等于数平方根的整数整除

要判断一个数是否能被大于2且小于等于数平方根的整数整除,我们可以使用一个循环来遍历从3到数平方根的所有整数,并判断是否能被整除。

import math

for i in range(3, int(math.sqrt(num)) + 1, 2):
    if num % i == 0:
        print(num, "不是素数")
        exit()

在上述代码中,我们使用了math模块中的sqrt()函数来计算数的平方根。由于素数除了2以外必定是奇数,所以我们在循环中每次增加2。

步骤 5:判断数是否为素数

如果数不能被2整除且不能被大于2且小于等于数平方根的整数整除,则数为素数。

print(num, "是素数")

完整代码

import math

num = int(input("请输入一个正整数: "))

if num <= 1:
    print(num, "不是素数")
    exit()

if num % 2 == 0:
    print(num, "不是素数")
    exit()

for i in range(3, int(math.sqrt(num)) + 1, 2):
    if num % i == 0:
        print(num, "不是素数")
        exit()

print(num, "是素数")

通过上述代码,我们可以判断一个数是否为素数。希望这篇文章对刚入行的小白有所帮助!