1
왜 수행합니다왜 형식 오류가
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
그 의미와 그것을 어떻게 해결합니까? 사전에
감사합니다,
LewisC
'INT (SQRT)가'아래 제곱근을 반올림 것을 명심 및 범위 '의 정지()'포함되지 않습니다
당신은 아마이 원하는. 여기에'int (sqrt) + 1'이 필요합니다. 그렇지 않으면 9가 소수로 간주됩니다. –