父與子的程式設計之旅 第十三章

2022-08-09 00:15:16 字數 3479 閱讀 9955

第十三章將函式

我的理解是,函式是乙個方便重複呼叫的模組,不像命令列每次實現相同的功能都得重新敲一次實現的過程,函式可以有效提高**的重複利用率

1、使用哪個關鍵字來建立函式?python中使用def關鍵字來定義函式,如:def 函式名()

2、如何呼叫函式?定義好函式之後,如果一直不呼叫它,那麼函式並沒有任何價值,呼叫函式我們常常直接寫:函式名(),就可以完成函式的呼叫

3、如何向函式傳遞引數?定義和呼叫函式的時候,我們常常會使用引數。引數的作用是可以讓不同的物件實現相同的功能。比如寫乙個統計個人資訊的函式,如果我想統計乙個班級所有人的基本資訊,我可以給函式傳遞乙個引數,引數是班級中每個人的學好或者名字,通過傳遞引數,我們可以針對班級中不同的人實現統計基本資訊這個功能。定義:def 函式名(形式引數1,形式引數2,...),呼叫:函式名(實參1,實參2,...)

4、函式最多可呼叫多少個引數?一般函式中的引數不超過5至6個,如果超過則使用乙個列表將引數都收集進去,然後傳遞這個列表即可。

5、如何從函式返回資訊?python使用關鍵字returnl實現返回值的傳遞。將變數返回到呼叫該函式的位置。如:return 變數名 

6、函式執行結束以後,函式中的區域性變數會被刪除,區域性變數在函式執行結束之後就不存在了。python中global關鍵字可以將區域性變數強制轉換為全域性變數。

1

#動手試一試t1。編寫乙個函式,用大寫字母列印你的名字,就像這樣:

2'''

3cccc a rrrrr ttttttt eeeeee rrrrr

4c c a a r r t e r r

5c a a r r t eeee r r

6c aaaaaaa rrrrr t e rrrrr

7c c a a r r t e r r

8cccc a a r r t eeeeee r r910

編寫乙個程式多次呼叫這個函式

11'''

1213

defyourname(name):

14if name == '

carter':

15print

'cccc a rrrrr ttttttt eeeeee rrrrr '16

print

'c c a a r r t e r r '17

print

'c a a r r t eeee r r '18

print

'c aaaaaaa rrrrr t e rrrrr '19

print

'c c a a r r t e r r '20

print

'cccc a a r r t eeeeee r r'21

22 name = raw_input("

enter your name: ")

23yourname(name)

2425#26

#2728def

whereareyou(address):

29 n =len(address)

30for i in

range(n):

31print

address[i],

32 address =

33 address.extend(raw_input("

enter your information: such as name street \

34city province postnumbers and state"))

35whereareyou(address)

3637

#動手試一試t3。嘗試使用**清單13-7的例子,不過要求my_price是全域性變數,以便看到結果輸出有什麼區別。

3839

defcalculatetax(price,tax_rate):

40 total = price + (price *tax_rate)

41print

my_price

4243

global

my_price

44 my_price = 10000

45print

"my_price (inside function) =

",my_price

46return

total

4748 my_price = float(raw_input("

enter a price: "))

4950 totalprice = calculatetax(my_price,0.06)

51print

"price =

", my_price, "

total price =

", totalprice

52print

"my_price (outside function) =

", my_price

5354

#動手試一試t4。編寫乙個函式計算零錢的總面值,包括5分幣、二分幣和一分幣55#

(類似於第5章中最後乙個「動手試一試」問題)。函式應當返回這些硬幣的總面額值56#

然後編寫乙個程式呼叫這個函式。程式執行時應當得到類似下面的輸出;

57'''

58quarters: 3

59dimes: 6

60nickels: 7

61pennies: 2

62total is $1.72

63'''

64def

howmuch(q,d,n,p):

65 total = q * 0.25+d * 0.1+n * 0.05+p * 0.01

66return

total

67 quarters = int(raw_input("

quarters: "))

68 dimes = int(raw_input("

dimes: "))

69 nickels = int(raw_input("

nickels: "))

70 pennies = int(raw_input("

pennies: "))

7172

print

"toptal is $

",howmuch(quarters,dimes,nickels,pennies)

c primer plus 第十三章課後程式設計6題

include include include define len 40 int main void 開啟檔案並輸入內容 if in fopen name,w null printf 請輸入檔案內容 n while ch getc stdin eof putc ch,in if fclose in...

c primer plus 第十三章課後程式設計7題

a 交替列印倆個檔案的每一行 include include int main int argc,const char ar if fc fopen ar 2 r null 如果第乙個檔案遇到換行符則列印第二個檔案內容,反之一樣 a 交替列印倆個檔案的每一行。利用檔案指標的特性自動遞增的特點 do ...

c primer plus 第十三章課後程式設計9題

修改程式13.3 在單詞前邊從1開始為單詞編號,程式下次執行時新增新單詞,編號接上次的編號開始 include include include define max 41 int main void puts enter words to add to the file press the puts...