第十三章將函式
我的理解是,函式是乙個方便重複呼叫的模組,不像命令列每次實現相同的功能都得重新敲一次實現的過程,函式可以有效提高**的重複利用率
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
'c c a a r r t e r r '17
'c a a r r t eeee r r '18
'c aaaaaaa rrrrr t e rrrrr '19
'c c a a r r t e r r '20
'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
"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...