010-2-def函式參數:參數預設值、名稱對應、任意長度參數

回覆文章
cajhbb
系統管理員
文章: 914
註冊時間: 2018年 6月 30日, 02:16

010-2-def函式參數:參數預設值、名稱對應、任意長度參數

文章 cajhbb »

010-2-def函式參數:參數預設值、名稱對應、任意長度參數
※參數預設值

代碼: 選擇全部

#未帶值呼叫->預設值  帶值呼叫->該值
#答案:Hello! 你好!
def rx(mesg="你好!"):
    print(mesg)
    
rx("Hello!")
rx()
※名稱對應

代碼: 選擇全部

#呼叫時傳值(依序),含名稱則依名稱對應
#答案:0.5 2
def rx(x,y):
    ans=x/y
    print(ans)
    
rx(2,4)
rx(y=2,x=4)

代碼: 選擇全部

#數學次方
def power(base,exp=0):
    print(base**exp)
power(2,5) #答案32
power(4)   #答案1

代碼: 選擇全部

#數學除法
def divide(x,y):
    print(x/y)
divide(4,8)     #答案0.5
divide(y=4,x=8) #答案2
※任意長度參數

代碼: 選擇全部

#任意長度參數 加*名稱
# *nam表不知要接收多少參數
def rx(*nam): #以Tuple方式處理
    for dis in nam:
        print(dis)
#使用者可傳任意數目資料    
rx("Green")
rx("Jane","Mary","David")
cajhbb
系統管理員
文章: 914
註冊時間: 2018年 6月 30日, 02:16

任意長度參數(詳述)

文章 cajhbb »

任意長度參數(詳述)
設計任意多數值,算出平均值

代碼: 選擇全部

#當成tuple資料型態(不能更改,其餘與集合相同)
def average(*nums):
      print(nums)
average(2,4)
average(1,3,-5,8)
average(-2,10,20,6,4)

代碼: 選擇全部

#利用迴圈抓tuple資料,會把傳值一個一個抓出來
def average(*nums):
      print(nums)
average(1,3,-5,8)

代碼: 選擇全部

#使用者多個數字帶入,以平均印出
def average(*nums):
    sum=0
    for n in nums:
        sum=sum+n
    print(sum/len(nums)) #總合/個數
average(2,4)
average(1,3,-4,8)
average(10,-10,20,30,0)
回覆文章