python判断素数,用while语句如是素数输出True,不是则输出False
时间: 2024-03-17 16:43:24 浏览: 25
以下是使用 while 语句来实现判断素数的代码,如果是素数则输出True,否则输出False:
```python
def is_prime(num):
if num <= 1:
return False
i = 2
while i <= num**0.5:
if num % i == 0:
return False
i += 1
return True
num = int(input("请输入一个整数:"))
print(is_prime(num))
```
这里使用了一个类似的方法来判断素数:对于一个大于1的整数n,如果它不是质数,则一定存在大于1小于等于n的平方根的整数m,使得n能被m整除。因此,我们可以使用while循环从2开始遍历到n的平方根,判断n能否被其中任意一个数整除即可。如果所有数都不能整除,则n是一个素数。
相关问题
python用while语句判断素数
以下是 Python 使用 while 语句判断素数的示例代码:
```python
num = int(input("请输入一个正整数:"))
# 判断是否为素数的标志
flag = True
# 如果是小于等于 1 的数,不是素数
if num <= 1:
flag = False
else:
# 从 2 开始循环到 num-1,判断 num 是否能被 i 整除
i = 2
while i < num:
if num % i == 0:
flag = False
# 如果能被整除,说明不是素数,退出循环
break
i += 1
if flag:
print(num, "是素数")
else:
print(num, "不是素数")
```
运行结果如下:
```
请输入一个正整数:17
17 是素数
```
解释:首先通过 `input` 函数获取用户输入的一个正整数 `num`,然后利用一个布尔型变量 `flag` 来标志 `num` 是否为素数。如果 `num` 小于等于 1,说明不是素数,直接将 `flag` 置为 `False`。否则,从 2 开始循环到 `num-1`,判断 `num` 是否能被当前的 `i` 整除。如果能被整除,说明 `num` 不是素数,将 `flag` 置为 `False`,并且通过 `break` 语句退出循环。最后根据 `flag` 的值来输出结果。
编程实现输出200以内的所有素数(用while语句)
以下是使用while语句实现输出200以内的所有素数的Python代码:
```python
num = 2
while num <= 200:
is_prime = True
# 判断num是否为素数
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
is_prime = False
break
# 如果num是素数,则输出
if is_prime:
print(num)
num += 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
113
127
131
137
139
149
151
157
163
167
173
179
181
191
193
197
199
```