20_函式

範例1:輸入3個成績,新增一個名為compute的函式,接受主程式傳遞的一個陣列,印出陣列最大值

寫法1

def compute(aa):

    return(max(aa))


a=[0]*3 

for i in range(3):

    a[i]=eval(input("input score:"))


ans=compute(a)

print(ans)


寫法2

def compute(aa):

    print(max(aa))


a=[0]*3

for i in range(3):

    a[i]=eval(input("input score:"))


compute(a)




範例2:隨機亂數取1~49的6個數新增一個名為ppppp的函式,接受主程式傳遞的一個陣列,印出陣列中的6個


import random

def ppppp(aa):

    for j in range(6):

        print(aa[j])


a=[0]*6

for i in range(6):

    a[i]=random.randint(1,65)

ppppp(a)


範例3讓使用者輸入n個班的成績(假設每班只有3人),再新增一個名為pprint的函式,接受主程式傳遞的一個陣列,印出該班的總分和平均


def pprint(aa):

    print("總分={},平均={:.2f}" .format(sum(aa),sum(aa)/len(aa)))



a=[0]*3 

n=eval(input("請問共要輸入幾個班的成績?"))

for i in range(n):

    for j in range(3):

        a[j]=eval(input("請輸入第 {} 個班成績:" .format(i+1)))

    pprint(a)

    a=[0]*3


進階題:請將程式改成 輸入-1代表結束輸入成績。(提示:用while)