导语:
本文主要介绍了关于python如何判断一个数是素数的相关知识,包括isprime函数判断素数python,以及pythonfor循环判断素数这些编程知识,希望对大家有参考作用。
大于 1 的自然数不能被除 1 和自身(2、3、5、7 等)以外的其他自然数(质数)整除,也就是说,这个数除了 1 和自身之外没有其他因数。
首先我们来第一个传统的判断思路:
def handlerNum(num):
# 质数大于 1
if num > 1:
# 查看是否有其他因子
for i in range(2, num//2+1):
if (num % i) == 0:
print(num,"不是质数")
break
else:
print(num, "是质数")
# 如果输入的数字小于或等于 1,不是质数
else:
print(num, "不是质数")
if __name__ == '__main__':
# 用户输入一个数字
num = int(input("请输入一个数字: "))
# 调用函数处理方法
handlerNum(num)
其实上面循环中的else和if并不是配对的,而是和for并排的。当然,for和else一起出现的情况并不少见,你会慢慢明白的。这段代码的意思是当for里面的条件不满足的时候,就会执行else里面的代码。以上就是我们按照传统思路解决问题。其实有一种更快更简单的解决问题的方法,就是用真假来判断。
#处理函数
def IsPrime(num):
#根据质数的定义,其必须大于0
if num == 1:
return False
#循环需要判断的次数
for i in range(2, num // 2 + 1):
#如果该数有其他的因子返回False,即不是质数
if num % i == 0:
return False
return True
if __name__ == '__main__':
#输入一个数字
num = eval(input("请输入一个数,判断是否为质数:"))
#调用方法(如果是质数返回True,否则返回False),打印结果
print(IsPrime(num))
这两种方法大体相似,但这为我们以后解决问题提供了一种新的思路。
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ 用Python爬取了《扫黑风暴》数据,并将其可视化分析后,终于知道它为什么这么火了~02/18
- ♥ 什么是python烧瓶10/01
- ♥ 如何在python中使用井号09/21
- ♥ Python3 枚举类如何处理重复名称?12/17
- ♥ 什么是python变量不等号12/06
- ♥ 在python中使用动量交易策略12/09
内容反馈