亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么把math.sqrt(x)轉化為int就能判斷出是不是整數

浮點轉化成整數它的值不是不變嗎?

import?math
def?is_sqr(x):
????r?=?math.sqrt(x)
????if?isinstance(r,int):
????????return?x
print?filter(is_sqr,?range(1,101))

?另外問問上面的代碼為什么返回空list,好像沒什么問題- -

正在回答

4 回答

import math

def is_sqr(x):

? ? return math.sqrt(x).is_integer()

print filter(is_sqr, range(1, 101))


1 回復 有任何疑惑可以回復我~

def is_sqr(x):

m = math.sqrt(x)

n = str(m).split('.')

return n[len(n) - 1] == '0'

ll = filter(is_sqr, ?range(1, 101))

print(list(ll))


0 回復 有任何疑惑可以回復我~

math.sqrt(x)返回的是float,所以你下面isinstance(r,int)返回的是false,就會返回空list

1 回復 有任何疑惑可以回復我~

返回空list說明isinstance(r,int)的結果為false,也就是說r不是int型,所以才要轉化為int

0 回復 有任何疑惑可以回復我~
#1

慕仔938176

那就會把所有的float都會轉化成int型,那怎么能判斷開平方根開 出來的是整型呢?
2017-11-29 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
python進階
  • 參與學習       255563    人
  • 解答問題       3038    個

學習函數式、模塊和面向對象編程,掌握Python高級程序設計

進入課程

為什么把math.sqrt(x)轉化為int就能判斷出是不是整數

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號