為什么沒(méi)有我想象中的精準(zhǔn)度損失?
import math
def is_sqr(x):
??? y=int(math.sqrt(x))
??? return y*y==x
print filter(is_sqr, range(1, 101))
為什么要用int()呢? 如果開(kāi)完方y(tǒng)為非整數(shù),那么y*y不應(yīng)該會(huì)有精準(zhǔn)度上的損失嗎? 那么y*y!=x啊
import math
def is_sqr(x):
??? y=int(math.sqrt(x))
??? return y*y==x
print filter(is_sqr, range(1, 101))
為什么要用int()呢? 如果開(kāi)完方y(tǒng)為非整數(shù),那么y*y不應(yīng)該會(huì)有精準(zhǔn)度上的損失嗎? 那么y*y!=x啊
2016-05-13
舉報(bào)
2016-05-26
這題本來(lái)就是要讓不能開(kāi)方的數(shù)的精度損失掉,這樣y*y就不等于x了,函數(shù)就好返回False,剛好達(dá)到目的
2016-05-13
有精度損失啊,這個(gè)段程序一看根本行不通嘛,這個(gè)可以 相信自己