課程
/后端開發
/Python
/python進階
為什么is_sqr2的函數里邊,x=11,14的時候居然是true?
2020-03-07
源自:python進階 2-6
正在回答
判斷一個數的平方根是否是整數:math.sqrt(x)==int(math.sqrt(x))
比如:1.5==int(1.5)為False
你的這個x==r*r存在不確定性,一個數的平方根是浮點型,浮點型是一種不準確的數值,有時候根乘以根可能和這個數相等,有時候是無限接近。你的算法中,11和14的平方根相乘正好等于11或者14,所以為True。如果換其他機器或環境運行,可能又為False。我是這樣理解的。你可以查相關的資料。
值大于1所以是true
慕運維3238043 提問者
舉報
學習函數式、模塊和面向對象編程,掌握Python高級程序設計
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2020-03-09
判斷一個數的平方根是否是整數:math.sqrt(x)==int(math.sqrt(x))
比如:1.5==int(1.5)為False
你的這個x==r*r存在不確定性,一個數的平方根是浮點型,浮點型是一種不準確的數值,有時候根乘以根可能和這個數相等,有時候是無限接近。你的算法中,11和14的平方根相乘正好等于11或者14,所以為True。如果換其他機器或環境運行,可能又為False。我是這樣理解的。你可以查相關的資料。
2020-03-07
值大于1所以是true