資源簡介 (共25張PPT)Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.少兒編程課好幫手函數(shù)素數(shù)質(zhì)數(shù)又稱素數(shù)。一個大于1的自然數(shù),除了1和它自身外,不能被其他自然數(shù)整除的數(shù)叫做質(zhì)數(shù)與質(zhì)數(shù)相對應(yīng)的稱為合數(shù)。最大公因數(shù)公因數(shù),亦稱“公約數(shù)”。如果一個整數(shù)同時是幾個整數(shù)的因數(shù),稱這個整數(shù)為它們的“公因數(shù)”。例如:6可以同時被24,36整除,則6就是24和36的公因數(shù)。公因數(shù)可能有多個,最大的那一個稱為最大公因數(shù)。公倍數(shù)是指在兩個或兩個以上的自然數(shù)中,如果它們有相同的倍數(shù),這些倍數(shù)就是它們的公倍數(shù)。例如:24即是6的倍數(shù)也是8的倍數(shù),則24就是6和8的公倍數(shù)。公倍數(shù)可以有多個,所有公倍數(shù)中最小的,就稱為最小公倍數(shù)。最小公倍數(shù)重復(fù)代碼的產(chǎn)生在前面求解約數(shù)、素數(shù)、倍數(shù)的時候總會有一些需求是反復(fù)出現(xiàn)的。例如:我們通過分解質(zhì)因數(shù)求解最小公倍數(shù)或最大公約數(shù)的時候,對數(shù)字m和數(shù)字n都要分別進行一次質(zhì)因數(shù)分解,再進行求公倍數(shù)和公約數(shù)的操作。代碼示例:m = 用戶輸入數(shù)字n = 用戶輸入數(shù)字ms = 對m進行分解質(zhì)因數(shù)ns = 對n進行分解質(zhì)因數(shù)cd = 利用ms和ns求解最大公約數(shù)cm = 利用ms和ns求解最小公倍數(shù)對m,n拆解質(zhì)因數(shù)的過程基本類似,但是代碼要重復(fù)寫上兩遍重復(fù)代碼的提取我們可以把重復(fù)的內(nèi)容提取出來并取一個名字。每當需要使用到重復(fù)內(nèi)容的時候,我們只要使用名字就可以了。def func_name( num):進行質(zhì)因數(shù)的分解過程return 分解結(jié)果函數(shù)的定義剛才我們的所作所為,實際是定義了一個函數(shù),或者也可以通俗的稱為方法。函數(shù)/方法就是告訴了計算機做一件事情的法子。比如剛寫的函數(shù)/方法就是告訴python求解質(zhì)因數(shù)列表的法子。函數(shù)的組成定義函數(shù)使用:def函數(shù)的名字:func_name函數(shù)的輸入:num (函數(shù)的輸入也會被稱為函數(shù)的參數(shù))函數(shù)體:進行質(zhì)因數(shù)的分解過程函數(shù)的輸出:分解結(jié)果 (函數(shù)的輸出也會被稱為函數(shù)的返回值)注意:所有的函數(shù)都必須有函數(shù)體,也必然會有輸出。但是def,函數(shù)名稱和函數(shù)的輸入并不是每一個函數(shù)都有。注意:所有的函數(shù),無論有沒有顯式的寫出return語句,都會有輸出。而且,如果顯式的寫了return語句,一旦執(zhí)行到return語句時,函數(shù)立即執(zhí)行結(jié)束。定義分解質(zhì)因數(shù)的函數(shù)# 利用def定義一個函數(shù)# 函數(shù)的名字叫做get_primes# 函數(shù)的主要作用是對輸入的num進行質(zhì)因數(shù)分解# 將分解的結(jié)果作為函數(shù)的輸出# 遇到return,整個函數(shù)結(jié)束def get_primes(num):函數(shù)體return 質(zhì)因數(shù)列表定義分解質(zhì)因數(shù)的函數(shù)def get_primes(num):s=[] #存放num的所有質(zhì)因數(shù)k=2while True:if num==k:s.append(k) #當num與k相等的時候,意味著循環(huán)結(jié)束了return s #將s作為結(jié)果輸出給函數(shù)的使用者,整個方法結(jié)束elif num % k ==0:s.append(k)num=num//kelse:k+=1自定義函數(shù)的使用當定義了函數(shù)之后,使用func_name( )的方式進行調(diào)用。例如,要使用get_primes函數(shù)獲得質(zhì)因數(shù)列表,只需要get_primes(num)即可。num為待分解的數(shù)字。自定義函數(shù)的使用ms=get_primes(12)print(ms) #執(zhí)行結(jié)果為[2,2,3]ns=get_primes(20)print(ns) #執(zhí)行結(jié)果為[2,2,5]判別素數(shù)的函數(shù)我們經(jīng)常需要判別一個數(shù)字是不是素數(shù)。請設(shè)計一個函數(shù),函數(shù)的輸入為一個數(shù)字,如果這個數(shù)字是素數(shù),則函數(shù)的輸出為True,否則為False。設(shè)計思路:使用def開始定義,函數(shù)名稱可以成為is_prime,函數(shù)接收一個數(shù)字作為輸入。所以完整的函數(shù)定義為def is_prime(num)。根據(jù)素數(shù)的定義構(gòu)建函數(shù)體。根據(jù)判定的結(jié)果,將True或者False作為函數(shù)的輸出。判別素數(shù)的函數(shù)def is_prime(num):for x in range(2,num):if num % x==0:return Falsereturn True自定義函數(shù)的使用n=8if is_prime(8):print("%s是素數(shù)"%n)else:print("%s是合數(shù)")PEP8編碼風(fēng)格就像寫作文時有格式的要求,例如:每一段要另起一行寫,段落開頭空兩格。寫Python代碼時一樣有關(guān)于格式的若干要求,這些要求被編輯整理為《第8號python增強提案》,英文名稱《 Python Enhancement Proposal #8 》,簡稱又叫PEP8。PEP8編碼風(fēng)格以下是一些常見的PEP8中的格式要求:使用空格來表示縮進,而不要用tab函數(shù)、變量及屬性應(yīng)該用小寫字母來拼寫,各單詞之間以下劃線相連from…import語句應(yīng)在總放在文件開頭每行最大長度79個字符各種右括號、逗號、冒號、分號前不要加空格。操作符(例如= and or)左右各加一個空格,不要為了對齊增加空格。注意:PEP8是一種建議而不是強制性要求,但是為了保證代碼的規(guī)范化和整潔,最好按照PEP8的要求來書寫。求解最大公約數(shù)的函數(shù)定義一個函數(shù),求解兩個數(shù)的最大公約數(shù)。并用自定義的函數(shù)求解24,32,64的最大公約數(shù)是什么?設(shè)計思路:使用def開始定義,函數(shù)名稱可以成為get_factor,函數(shù)接收二個數(shù)字作為輸入。所以完整的函數(shù)定義為def get_factor(m,n)。利用窮舉法或者數(shù)學(xué)特性法構(gòu)建函數(shù)體。將最大公約數(shù)作為函數(shù)的輸出。求解最大公約數(shù)的函數(shù)利用數(shù)學(xué)特性法求解最大公約數(shù)def get_factor(m,n):while True:if m % n==0:return nelse:m,n=n,m%n調(diào)用最大公約數(shù)的函數(shù)用自定義的函數(shù)求解24,32,64的最大公約數(shù)#方式1n=get_factor(24,32) #先求解24與32的最大公約數(shù)m=get_factor(n,64) #再求解n與64的最大公約數(shù)print(m) #打印24,32,64的最大公約數(shù)#方式2m=get_factor(get_factor(24,32),64)print(m) #打印24,32,64的最大公約數(shù)求解最小公倍數(shù)的函數(shù)定義一個函數(shù),求解兩個數(shù)的最小公倍數(shù)。并用自定義的函數(shù)求解4,5,6的最小公倍數(shù)是什么?設(shè)計思路:使用def開始定義,函數(shù)名稱可以成為get_mu,函數(shù)接收二個數(shù)字作為輸入。所以完整的函數(shù)定義為def get_mu(m,n)。利用窮舉法或者數(shù)學(xué)特性法構(gòu)建函數(shù)體。將最小公倍數(shù)作為函數(shù)的輸出。求解最小公倍數(shù)的函數(shù)利用窮舉法求最小公倍數(shù)def get_mu(m,n):temp=1while True:if temp%m==0 and temp%n==0:return tempelse:temp+=1求解最小公倍數(shù)的函數(shù)還可以利用數(shù)學(xué)特性法求解def get_mu(m,n):f=get_factor(m,n) #利用已經(jīng)構(gòu)建好的函數(shù)求解最大公約數(shù)mu=m*n/freturn mu調(diào)用最小公倍數(shù)的函數(shù)用自定義的函數(shù)求解4,5,6的最小公倍數(shù)#方式1n=get_mu(4,5) #先求解4與5的最小公倍數(shù)m=get_mu(n,6) #再求解n與6的最小公倍數(shù)print(m) #打印4,5,6的最小公倍數(shù)#方式2m=get_mu(get_mu(4,5),6)print(m) #打印4,5,6的最小公倍數(shù) 展開更多...... 收起↑ 資源預(yù)覽 縮略圖、資源來源于二一教育資源庫