为什么:
def p3(x):
primes = [2]
for a in range(3, x, 2):
sqrt = a ** 0.5
for b in range(3, sqrt, 2):
if a % b == 0:
break
if a % b != 0:
primes.append(a)
return primes
print(p3(19))
返回此:
TypeError: 'float' object cannot be interpreted as an integer, line 5
这是什么意思?我该怎么纠正?
提前感谢,
刘易斯
sqrt
属于float
类型,因此不能与range()
一起使用:若要修复,请将其转换为整数:
因为
sqrt
是一个浮点数,range
需要严格的整数。你可能想要这个:
相关问题 更多 >
编程相关推荐