函數體返回的結果為true,則在filter中print出,否則過濾掉
import math
def is_sqr(x):
??? f=int(math.sqrt(x))?????? #對列表中的每個數字開平方,結果為float型,且轉換為int后再f*f 后會不等于x,就是不符合條件的False
??? return f*f==x?????? #返回True的條件,被filter調用打印出
?? ?
print filter(is_sqr, range(1, 101))?? filter函數調用is_sqr函數過濾出符合條件的x打印出來
2015-05-11
不對,?f=int(math.sqrt(x)) ?是一個賦值語句,把int(math.sqrt(x)) 的值賦給f,不是一個邏輯判斷語句,邏輯判斷語句應該用“==”才對