用While…True(半路循环结构)判断用户输入的一个数是否为素数;
时间: 2024-05-14 13:11:48 浏览: 89
输入一个数,并判断它是否为素数
3星 · 编辑精心推荐
好的,这是一个编程问题,可以回答。以下是代码实现:
```
while True:
num = input("请输入一个正整数:")
if not num.isdigit():
print("请输入有效的正整数!")
continue
num = int(num)
if num == 1:
print("1既不是质数也不是合数")
elif num == 2:
print("2是质数")
else:
flag = True
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
flag = False
break
if flag:
print(num, "是质数")
else:
print(num, "不是质数")
```
请注意,此代码中采用了半路循环结构(while True),输入的数通过isdigit()方法判断是否为正整数。在判断素数时,若num等于1是特殊情况,此时不是质数也不是合数;若num等于2,则是质数;否则,需要判断是否能被2到int(num平方根)之间的数整除,如果能,则不是素数,否则是素数。
阅读全文