第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

求大神講解一下這段代碼???

求大神講解一下這段代碼???

qq_往昔已逝_cfhILS 2018-12-09 19:56:55
maxNumber = int(input('請輸入一個大于 2 的自然數(shù):'))?lst = list(range(2, maxNumber))?#最大整數(shù)的平方根?m = int(maxNumber**0.5)?for index, value in enumerate(lst):??????#如果當(dāng)前數(shù)字已大于最大整數(shù)的平方根,結(jié)束判斷?????if value > m:?????????break?????#對該位置之后的元素進(jìn)行過濾?????lst[index+1:] = filter(lambda x: x%value != 0, lst[index+1:]) print(lst)
查看完整描述

1 回答

?
pardon110

TA貢獻(xiàn)1038條經(jīng)驗 獲得超227個贊

input(prompt)? 該函數(shù)會讀取標(biāo)準(zhǔn)輸入流數(shù)據(jù),返回一個字符串,prompt是作為你輸入之前的提示文字, 可選。輸入完畢,回車表示結(jié)束。

range(2,maxNum) 在此接受了兩個參數(shù),返回一個序列對象。第一個參數(shù)是起始數(shù),第二個參數(shù)是終止(不包含)

上述兩個包裝函數(shù),int(),list()分別將各自的字符串類型轉(zhuǎn)為整形,序列類型轉(zhuǎn)為列表類型

轉(zhuǎn)型的目的是由于不同的數(shù)據(jù)類型對象擁有各自不同的方法。

emumerate(iterable,start=0)類接受兩個參數(shù),通常第一個參數(shù)是可迭代的序列對象,每迭代一次返回一個元組(該元組含兩個元素)。在此處是列表對象(列表是對序列的擴(kuò)展,另外元組也是),它會枚舉帶索引(數(shù)字索引)的序列對象元素,從0開始,像這樣(0,seq[0]),(1,seq[1])....

平方根常識,就不說了,參考數(shù)學(xué)知識

?lst[index+1:] = filter(lambda x: x%value != 0, lst[index+1:]) print(lst)

關(guān)鍵是filter函數(shù),實(shí)際上是python中一個過濾器類。第一個參數(shù)是一個參數(shù)或None對象,第二個參數(shù)是可迭代對象。在此是python中的lambda函數(shù)(也就是其它語言中的匿名函數(shù),x為匿名函數(shù)的參數(shù) 冒號右側(cè)部分是匿名函數(shù)返回值表達(dá)式值),若函數(shù)返回值為true可迭代對象項中元素將被返回。作用主要是過濾。filter主要作用是,逐次調(diào)用匿名函數(shù),匿名函數(shù)接收可迭代對象中的每一元素作為參數(shù),其返回值為真的元素留下。


對于不清楚的概念性東西,比如元組,序列,可迭代,列表,不可變等等建議學(xué)習(xí)一下python基礎(chǔ),了解一下也就會明白。

查看完整回答
反對 回復(fù) 2018-12-09
  • qq_往昔已逝_cfhILS
    qq_往昔已逝_cfhILS
    m = int(maxNumber**0.5) for index, value in enumerate(lst): #如果當(dāng)前數(shù)字已大于最大整數(shù)的平方根,結(jié)束判斷 if value > m: break 大神,我想問一下value為什么是大于maxNumber**0.5,而不是maxNumber呀
  • pardon110
    pardon110
    看你這段代碼的需求很明顯是尋找質(zhì)數(shù),質(zhì)數(shù)的定義是能被1和它本身整除。其中的問題在于如何判斷目標(biāo)數(shù)能否被其它數(shù)整除,而找到并縮小這個‘其它數(shù)’是關(guān)鍵。 假設(shè)一下求100以下的質(zhì)數(shù),事實(shí)上只要判斷1到100間內(nèi)的數(shù)能不能被2到10(100的平方根)整除,就能找到其范圍內(nèi)的質(zhì)數(shù)了。當(dāng)然了,你也可以用常規(guī)思維找,比如判斷69是不是質(zhì)數(shù),判斷69分別除2到68的數(shù)整除。最終的效果肯定是一樣,用平方根的目的主要還是小計算量(循環(huán)次數(shù)),邏輯判斷。這往大的說是算法,是計算思維。
  • 1 回答
  • 0 關(guān)注
  • 2060 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號