我对整个编程工作都是完全陌生的,我只是在尝试学习基础知识。目前,我正在尝试创建一个质数函数来表示输入是否是质数。我查看了过去的帖子,没有人像我一样处理这个问题,所以我没有先例。如果有人能告诉我为什么我的代码不能按预期运行,我将不胜感激。
def is_prime(x):
if x==0 or x==1:
return False
for n in range(2,x-1):
if "." not in str(int(x/n)):
return True
else:
return False 我想我可以创建一个循环来确定x之前的任何数字是否是因子,如果不是,那么这个数字将是质数,因为所有的输出都将包含小数。
发布于 2017-07-31 04:36:19
就性能而言,这不是一个非常好的方法。
而且,在Python2中除以两个整数会得到一个整数,所以没有精确点。在Python3中,你总是会得到一个精确点,但如果你把它转换回一个整数,那么你总是会丢失它,就像在Python2中一样。
发布于 2017-07-31 04:37:15
在你发布更多关于编程语言基本工作原理的问题之前,请尝试在文档中找到答案。
据我所知:int
返回一个从数字或字符串x构造的整数对象,如果没有给定参数,则返回0。如果x是一个数字,它可以是纯整数、长整型或浮点数。如果x是浮点数,则转换将向零截断。如果参数超出整数范围,则函数将返回long对象。
https://stackoverflow.com/questions/45404400
复制相似问题