我是Python新手,写了这个代码来识别一个数是否是素数。 我写了一个可以用JavaScript和visualbasic工作的代码,但不能用Python工作,错误是:TypeError:浮点是必需的。 我的代码:
import math
a = raw_input("Enter a number:")
k = 0
i = 1
s = math.sqrt(a)
while i <= s:
if a % i == 0:
k += 1
i += 1
if k == 2:
print "prime num"
else:
print "normal num"
怎么了?你知道吗
代码中还有更多的问题:
while
循环只能达到给定数字的平方根,但打印prime num
表示k==2。在这个代码中只有一个除数,它是1。你知道吗更重要的是,你可以从
i=2
开始,所以一个素数有0个除数。在那之后,最后一个问题是1不是素数。所以代码是这样的:首先检查python的版本,如果您使用python3,那么只需要
a=input("enter number")
python2的原始输入工作只需将用户输入转换为
int
。a = int(raw_input("Enter a number:"))
错误的是,您试图找到类型为
string
(text)的值的平方根。你知道吗相关问题 更多 >
编程相关推荐