零基礎 Python3學習課後練習題(十六)

2021-08-28 17:00:26 字數 2865 閱讀 7979

0.請問以下哪個是形參哪個是實參?

def myfun(x): 

return x**3

y = 3

print(myfun(y))

答:x是形式引數,y是實際引數。函式定義過程中的引數是形參,呼叫函式過程中的引數是實參。

1.函式文件和直接用「#」為函式寫注釋有什麼不同?

答:函式文件是對函式的解釋和描述,可以呼叫 __.doc__ 進行檢視。而 # 所寫的函式解釋則只是在定義函式的過程中所進行的單行解釋。

2.使用關鍵字引數,可以有效避免什麼問題的出現呢?

答:可以有效避免引數使用過程中因為順序等其他方面原因呼叫函式時出錯的問題出現,使用關鍵字引數可以在呼叫函式時對引數定向賦值,以函式引數名引導呼叫引數,防止出錯。

3.使用help(print)檢視print()這個bif有哪些預設引數?分別起到什麼作用?答:

print(...)  

print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=false)  

prints the values to a stream, or to sys.stdout by default.  

optional keyword arguments:  

file:  a file like object (stream); defaults to the current sys.stdout.  

#檔案型別物件:預設是sys.stout(標準輸出流)  

sep:   string inserted between values, default a space.  

#第乙個引數如果有多個值(第乙個引數是手收集引數),各個引數之間預設使用空格(space)隔開  

#列印最後乙個值之後預設引數乙個換行標誌符(『\n』)  

flush: whether to forcibly flush the stream.  

#是否強制重新整理流

4.預設引數和關鍵字引數表面最大的區別是什麼?

答:預設引數是在函式定義時就為形參賦予初始值,若呼叫函式時沒有為形參傳遞實參,則使用用預設引數。關鍵字引數是在呼叫函式時,傳遞實參時指定對應的形參。

0.編寫乙個符合以下要求的函式:

a)計算列印所有引數的和乘以基數(base = 3)的結果

b)如果引數中最後乙個引數為(base = 5),則設定基數為5,基數不參與求和運算。答:

a)

def funx3(*numbers,base = 3):

result = 0

for each in numbers:

result += each

result *= base

print("結果:",result)

b)

def funx5(*numbers):

result = 0

for each in numbers[0:-1]:

result += each

result *= numbers[-1]

print("結果:",result)

1.尋找水仙花數

題目要求:如果乙個3位數等於其各位數字的立方和,則稱這個數為水仙花數。例如153 = 1^3 + 5^3 + 3^3,因此153是乙個水仙花數。編寫乙個程式,找出所有水仙花數。答:

def sxhnum():

for x in range(100,1000):

hund = x // 100

ten = (x - hund*100) // 10

zero = (x - hund*100 - ten*10)

if x == hund**3 + ten**3 + zero**3:

print(x)

else:

continue

2.編寫乙個函式findstr(),該函式統計乙個長度為2的字串在另乙個字串出現的次數。例如:假定輸入的字串為「you cannot improve your past, but you can improve your future. once time is wasted, life is wasted.」,字串為「im」,函式執行後列印「子字串在目標字串中共出現3次」。答:

>>> def findstr(strx,stry):

count = 0

length = len(stry)

if strx not in stry:

print('該字串未在目標字串中出現!')

else:

for each in range(length - 1):

if stry[each] == strx[0]:

if stry[each+1] == strx[1]:

count += 1

print('該字串在目標字串中出現了%d次'% count)

>>> findstr('im','you cannot improve your past, but you can improve your future. once time is wasted, life is wasted.')

該字串在目標字串中出現了3次

>>>

零基礎 Python3學習課後練習題(四)

0.請問以下 會列印多少次 我愛魚c!while c print 我愛魚c 答 會一直列印下去,死迴圈。1.請問以下 會列印多少次 我愛魚c!i 10 while i print 我愛魚c i i 1 答 會列印10次。2.請寫出與 10 cost 50 等價的表示式。答 10 cost and c...

零基礎 Python3學習課後練習題(八)

0.下面的迴圈會列印多少次 i love fishc for i in range 0,10,2 print i love fishc 答 列印 5 次,因為在range閾中以 2 為步徑,即有五個結果,所以可以列印五次。for i in range 0,10,2 print i love fish...

零基礎 Python3學習課後練習題(二十二)

0.當你聽到小夥伴在討論 對映 雜湊 雜湊 或者 關係數列 的時候,事實上他們就是在討論什麼呢?答 都是在說python的字典。1.嘗試一下將資料 f 70,c 67,h 104,i 105,s 115 建立為乙個字典並訪問鍵 c 對應的值?答 第一種方法 zidian zidian zidian ...