mooc-python語言程式設計練習5-函式和程式碼複用
1.# 00390031003900310038184 以下關於遞迴函式基例的說法錯誤的是:
A 遞迴函式必須有基例
B 遞迴函式的基例不再進行遞迴
C 每個遞迴函式都只能有一個基例
D 遞迴函式的基例決定遞迴的深度
正確答案: C
每個遞迴函式至少存在一個基例,但可能存在多個基例。
2.# 00390031003900310038185 以下選項不是函式作用的是:
A 複用程式碼
B 降低程式設計複雜度
C 提高程式碼執行速度
D 增強程式碼可讀性
正確答案: C
函式不能直接提高程式碼執行速度。
3.# 00390031003900310038186
下列程式的輸出結果為:
def f(a,b): a=4 return a+b def main(): a=5 b=6 print(f(a,b),a+b) main()
A 11 11
B 10 10
C 11 10
D 10 11
正確答案: D
這裡沒有全域性變數,都是函式區域性變數的運算。
4.# 00390031003900310038188
以下關於Python函式說法錯誤的是:
def func(a,b): c=a**2+b b=a return c a=10 b=100 c=func(a,b)+a
A 執行該函式後,變數b的值為100
B 該函式名稱為func
C 執行該函式後,變數c的值為200
D 執行該函式後,變數a的值為10
正確答案: C
這裡沒有全域性變數,請在IDLE中執行程式碼觀察結果。
5.# 00390031003900310038191 以下關於函式呼叫描述正確的是:
A Python內建函式呼叫前需要引用相應的庫
B 自定義函式呼叫前必須定義
C 函式在呼叫前不需要定義,拿來即用就好
D 函式和呼叫只能發生在同一個檔案中
正確答案: B
函式呼叫前必須已經存在函式定義,否則無法執行。
Python內建函式直接使用,不需要引用任何模組。
6.# 00390031003900310038192 以下關於模組化設計描述錯誤的是:
A 模組間關係儘可能簡單,模組之間耦合度低
B 應儘可能合理劃分功能塊,功能塊內部耦合度高
C 高耦合度的特點是複用較為困難
D 應儘可能合理劃分功能塊,功能塊內部耦合度低
正確答案: D
模組內高耦合、模組間低耦合。
7.# 00390031003900310038193 以下對遞迴描述錯誤的是:
A 書寫簡單
B 執行效率高
C 遞迴程式都可以有非遞迴編寫方法
D 一定要有基例
正確答案: B
遞迴不提高程式執行效率。
任何遞迴程式都可以通過堆疊或佇列變成非遞迴程式(這是程式的高階應用)。
8.# 00390031003900310038195 以下關於函式說法錯誤的是:
A 函式是一段具有特定功能的、可重用的語句組
B 函式可以看做是一段具有名字的子程式
C 函式通過函式名來呼叫
D 對函式的使用必須瞭解其內部實現原理
正確答案: D
呼叫函式不需要知道函式內部實現原理,只需要知道呼叫方法(即介面)即可。
9.# 00390031003900310038196 哪個選項對於函式的定義是錯誤的?
A def vfunc(a,*b):
B def vfunc(a,b=2):
C def vfunc(*a,b):
D def vfunc(a,b):
正確答案: C
def vfunc(*a, b) 是錯誤的定義:*a表示可變引數,可變引數只能放在函式引數的最後。
10.# 00390031003900310038197 關於return語句,以下選項描述正確的是:
A return只能返回一個值
B 函式中最多隻有一個return語句
C 函式可以沒有return語句
D 函式必須有一個return語句
正確答案: C
函式可以包含0個或多個return語句