Python基础day05 作业解析【10道 函数作业题】
- 視頻、源碼、課件、軟件、筆記:超全面Python基礎入門教程【十天課程】博客筆記匯總表【黑馬程序員】
-
Python基礎day04【函數(定義與調用、文檔說明、傳參函數、全局變量、返回值、嵌套調用)】
-
Python基礎day05【函數(函數傳參的兩種形式、函數形參)、拆包、引用、可變與不可變類型、引用做函數參數注意點】
-
Python基礎day05【函數(局部變量、全局變量、多函數執行流程、函數返回值、函數參數)、拆包、引用、可變與不可變類型、函數注意事項】
-
Python基礎day05【函數應用:學生管理系統、拆包、今日總結】
目錄
函數
題目1 [加強訓練]
題干
訓練目標
訓練提示
參考方案
題目2 [加強訓練]
題干
訓練目標
訓練提示
參考方案
操作步驟
參考答案
題目3 [加強訓練]
題干
訓練目標
訓練提示
參考方案
操作步驟
參考答案
題目4 [加強訓練]
題干
訓練目標
訓練提示
參考方案
操作步驟
參考答案
題目5 [綜合訓練]
題干
訓練目標
訓練提示
參考方案
操作步驟
參考答案
題目6?[綜合訓練]
題干
訓練目標
訓練提示
參考方案
操作步驟
參考答案
題目7 [加強訓練]
題干
訓練目標
訓練提示
參考方案
操作步驟
參考答案
函數[加強訓練]
題目1 [加強訓練]
題目2 [加強訓練]
題目3 [加強訓練]
函數
題目1 [加強訓練]
題干
有如下代碼:
?num = 10
?def anum():
?????num = 20
?print(num)
請問這段代碼最終輸出的值是多少?10
訓練目標
分清全局變量與局部變量
訓練提示
全局變量與局部變量有什么區別?
參考方案
對于在函數內部的變量,如果改變沒有global聲明的變量,那么相當于是重新定義了一個與全局變量同名的局部變量。
題目2 [加強訓練]
題干
有如下代碼:
def abnum(big, small, middle):
? ? .....#此處省略一千行代碼
現在要調用abnum函數,但是怕在調用的時候將參數的位置傳錯,如何避免這個情況?寫一段代碼示范下。
訓練目標
關鍵字參數的使用
訓練提示
題中已經給了現有的函數以及形參,但是要怎么才能保證實參能夠一對一傳入,不發生錯誤呢?
參考方案
明確要用關鍵字參數,來指定參數位置
操作步驟
在調用函數的時候,直接標明參數的值
參考答案
abnum(big=5, small=1, middle=1)
題目3 [加強訓練]
題干
在填寫個人資料時,如果選了女性,那么性別是女;如果不選性別,那就是默認是男,那么這個功能用函數怎么實現?
要求如下:定義一個函數gender,并在函數中將“所選性別為*”,并可以成功調用運行。
訓練目標
練習缺省參數的使用,事實上缺省參數也是很常使用的。
訓練提示
在定義函數的時候,如何聲明形參是缺省參數?
缺省參數的意義是什么呢?
參考方案
在聲明函數時直接聲明缺省參數。
缺省參數意味著,如果不傳參數的話,那就按照默認的值來進行使用,并且程序不會報錯。
操作步驟
參考答案
?def gender(g="男"):print("您的性別是:"+g)gender()# 經過上述例子以及代碼,是不是說明我們的缺省參數是可以缺少可以省去的?是!題目4 [加強訓練]
題干
要求實現一段代碼:
聲明一個函數num,并且在調用函數的時候,不管輸入多少個非關鍵字參數,函數都可以運行,且在函數內部還要把每個參數輸出到屏幕上。
訓練目標
不定長元組類型參數的使用
元組的遍歷
訓練提示
不定長參數有什么作用?
參考方案
在不確定參數的個數的時候,用不定長參數做形參,可以接受多個可以接受的參數。
操作步驟
定義一個函數num,形參為*args,然后在函數內部進行對元組遍歷輸出即可
參考答案
def num(*args):for i in args:print(i)題目5 [綜合訓練]
題干
如下所示這是一個字典,{"name":"電腦","price":7000}
請定義這樣一個函數num,講上述字典中的鍵值對傳入到函數num中,要求用不定長參數來接收,并在函數中打印鍵值對輸出
輸出格式為:
?key: name value: 電腦
?key: price value: 700
訓練目標
不定長參數字典類型的使用 遍歷字典
訓練提示
字典類型的不定長參數的關鍵字什么?
調用函數時應如何傳參?
如何對字典完成遍歷并輸出?
參考方案
1.不定長參數關鍵字沒有固定的關鍵字,但是一般用 **kwargs多一些
2.傳入關鍵字參數
3.可以對字典的鍵,值,以及鍵值對進行遍歷
操作步驟
不定長參數關鍵字沒有固定的關鍵字,但是一般用 **kwargs多一些
遍歷選擇用dict.items()
調用時傳入關鍵字參數,將鍵值對傳入即可
參考答案
?def num(**kwargs):for key,value in kwargs.items():print("key:",key,"value:",value)num(name="電腦", price=700)題目6?[綜合訓練]
題干
對于一個函數num,當調用nun(1,2,a=3,b=4)和調用num(3,4,5,6,a=1)以及num(a=1,b=2)的時候都可以正常運行,并且可以對元組以及字典類型進行遍歷輸出,對字典類型進行輸出字典的鍵值對(形式為:key:a,value:1),
請寫出這個函數并完成調用。
訓練目標
元組類型不定長參數與字典類型不定長參數的混合使用
訓練提示
當有元組以及字典兩個不定長參數的時候,順序要怎么放?如何傳參?參數順序有沒有什么順序?
參考方案
可以采用*args與**kwargs兩個形參
定義一個函數num,調用時將關鍵字參數放在最后面,其他參數放在前面。
操作步驟
定義函數num時,參數順序應該是*args,**kwargs。
在函數內部分別執行遍歷操作即可。
參考答案
?def num(*args, **kwargs):for i in args:print(i)for key,value in kwargs.items():print("key:",key,"value:",value)num(1,2,3,a=1, b=2)# num(a=1, b=2) 此種情況也可題目7 [加強訓練]
題干
完成學生管理系統代碼。
添加學生功能
刪除學生功能
修改學生功能
查詢學生功能
查詢所有學生功能
訓練目標
知識的綜合應用
訓練提示
參考方案
可參考課堂代碼
操作步驟
搭建系統框架
書寫各個功能
參考答案
參考課件或者課堂代碼
函數[加強訓練]
題目1 [加強訓練]
題目2 [加強訓練]
題目3 [加強訓練]
總結
以上是生活随笔為你收集整理的Python基础day05 作业解析【10道 函数作业题】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python基础day05【函数应用:学
- 下一篇: JavaWeb黑马旅游网-学习笔记05【