while - 函數
阿新 • • 發佈:2018-09-25
定義和使用 string format 函數的參數 我不 輸入 默認值 per abcd
. . .
In [5]:
. . .
while 循環?
- 一個循環語句
- 表示到某個條件成立的時候,就循環
- 不知道具體循環的次數,但能確定循環的成立條件的時候用while循環
-
while語法:
while 條件表達式: 語句塊 # 另外一種表達方法 while 條件表達式: 語句塊1 else: 語句塊2
# 如果說年利率是6.7%,本利每年翻倍,則多少年後本錢會翻倍
benqian = 10000
year = 0
while benqian < 20000:
benqian = benqian * (1+0.067)
year += 1 # 指 year = year + 1
print("第{0}年拿了{1}塊錢".format(year, benqian))
第1年拿了10670.0塊錢 第2年拿了11384.89塊錢 第3年拿了12147.677629999998塊錢 第4年拿了12961.572031209998塊錢 第5年拿了13829.997357301068塊錢 第6年拿了14756.607180240238塊錢 第7年拿了15745.299861316334塊錢 第8年拿了16800.23495202453塊錢 第9年拿了17925.85069381017塊錢 第10年拿了19126.88269029545塊錢 第11年拿了20408.383830545245塊錢
# 如果拿到的前翻倍,則用 print 語句慶祝一下
benqian = 10000
year = 0
while benqian < 20000:
benqian = benqian * (1+0.067)
year += 1 # 指 year = year + 1
print("第{0}年拿了{1}塊錢".format(year, benqian))
else:
print("終於可以娶媳婦了")
print("找媳婦去了")
第1年拿了10670.0塊錢 第2年拿了11384.89塊錢 第3年拿了12147.677629999998塊錢 第4年拿了12961.572031209998塊錢 第5年拿了13829.997357301068塊錢 第6年拿了14756.607180240238塊錢 第7年拿了15745.299861316334塊錢 第8年拿了16800.23495202453塊錢 第9年拿了17925.85069381017塊錢 第10年拿了19126.88269029545塊錢 第11年拿了20408.383830545245塊錢 終於可以娶媳婦了 找媳婦去了
# 函數
- 代碼的一種組織形式
- 一個函數一般完成一項特定的功能
- 函數使用
- 函數需要先定義
- 使用函數 稱為調用
函數?
- 代碼的一種組織形式
- 一個函數一般完成一項特定的功能
- 函數使用
- 函數需要先定義
- 使用函數 稱為調用
# 定義一個函數
# 如果只定義而不調用這個函數,函數是不會執行的
# 1.def 是個關鍵字,後面跟一個空格
# 2.函數名,自己定義,起名需遵循指令取名規則,約定俗稱,大駝峰只給類用來命名
# 3.後面的括號和冒號不能省略,括號內可以有參數
# 4.函數內所有代碼都得有縮進
def fun():
print("函數")
print("可以完成一個功能")
print("再見")
. . .
In [9]:
# 函數的調用
# 直接用函數名和後面跟括號
fun()
函數 可以完成一個功能 再見. . .
### 函數的參數和返回值
- 參數:負責給函數傳遞一些必要的數據和信息
— 形參(形式參數):在函數定義的時候用到的參數沒有具體值,只是一個占位符,稱之為形參
- 實參(實際參數):在調用函數的輸入的值
- 返回值:函數的執行結果
- 返回值使用 return 關鍵字來表明這函數
- 如果沒有 return 默認返會 None
- 函數一旦執行 return 語句,則無條件返回,即結束函數執行
函數的參數和返回值?
- 參數:負責給函數傳遞一些必要的數據和信息 — 形參(形式參數):在函數定義的時候用到的參數沒有具體值,只是一個占位符,稱之為形參
- 實參(實際參數):在調用函數的輸入的值
- 返回值:函數的執行結果
- 返回值使用 return 關鍵字來表明這函數 - 如果沒有 return 默認返會 None - 函數一旦執行 return 語句,則無條件返回,即結束函數執行
# 參數的定義和使用
# 參數 person 只是一個符號,代表的是調用時的某一個數據
# 調用的時候,會用 a 代替函數中所有的 person
def hello(person):
print("{0},你怎麽了".format(person))
print("sir,你不理我那我走了")
a = "ruirui"
hello(a)
ruirui,你怎麽了 sir,你不理我那我走了. . . In [15]:
# retuyn 語句基本使用
# 函數打完招呼後返回一句話
def hello(person):
print("{0},你怎麽了".format(person))
print("sir,你不理我那我走了")
return "我已經跟{0}打招呼了,{1}根本不理我".format(person,person)
a = "ruirui"
rst = hello(a)
?
print(rst)
ruirui,你怎麽了 sir,你不理我那我走了 我已經跟ruirui打招呼了,ruirui根本不理我. . . In [17]:
# return 案例2
def hello(person):
print("{0},你怎麽了".format(person))
return "哈哈,我不理你了"
print("sir,你不理我那我走了")
return "我已經跟{0}打招呼了,{1}根本不理我".format(person,person)
a = "ruirui"
rst = hello(a)
print(rst)
ruirui,你怎麽了 哈哈,我不理你了. . . In [20]:
# 九九乘法表
# version 1,0
for row in range(1,10):
# 打印一行
print("{0}....a line".format(row))
1....a line 2....a line 3....a line 4....a line 5....a line 6....a line 7....a line 8....a line 9....a line. . . In [39]:
for row in range(1,10):
for col in range(1,row+1):
# print 函數默認任務打印完畢後執行換行
print( row * col,end=" ")
print("......")
1 ...... 2 4 ...... 3 6 9 ...... 4 8 12 16 ...... 5 10 15 20 25 ...... 6 12 18 24 30 36 ...... 7 14 21 28 35 42 49 ...... 8 16 24 32 40 48 56 64 ...... 9 18 27 36 45 54 63 72 81 ....... . . In [24]:
# 查找函數幫助文檔
# 1.用 help 加上函數名
help(print)
Help on built-in function print in module builtins: print(...) print(value, ..., sep=‘ ‘, end=‘\n‘, file=sys.stdout, flush=False) Prints the values to a stream, or to sys.stdout by default. Optional keyword arguments: file: a file-like object (stream); defaults to the current sys.stdout. sep: string inserted between values, default a space. end: string appended after the last value, default a newline. flush: whether to forcibly flush the stream.. . . In [48]:
# 定義一個函數
def printis(row):
for col in range(1, row+1):
# print 函數默認任務打印完畢後執行換行
print( row * col,end=" ")
print(" ")
pass
. . .
In [49]:
# 九九乘法表
# version 2,0
for row in range(1,10):
printis(row)
1 2 4 3 6 9 4 8 12 16 5 10 15 20 25 6 12 18 24 30 36 7 14 21 28 35 42 49 8 16 24 32 40 48 56 64 9 18 27 36 45 54 63 72 81. . .
### 參數詳解
- 【參考資料】(http://www.cnblogs.com/bingabcd/p/6671368.html)(博客園)
- python 參考資料:headfirst python -->零基礎入門學習python(小甲魚寫的)-->習題-->後期可以去看免費的公開課跟著練習
- 參數分類
- 普通參數
- 默認參數
- 關鍵參數
- 收集參數
- 普通參數
- (參見上面的例子)
- 在定義的時候直接定義變量名
- 調用的時候直接把變量或值放入指定位置
def 函數名 (參數1....參數2,.....):
函數體
# 調用
函數名 (value1, value2.....)之會按位置調用
# 調用的時候,具體值參考的時位置,按位置賦值
- 默認參數
- 形參帶有默認值
- 調用的時候,如果沒有對相應的參數值,則會使用默認參數值
def funt name(p1=v1, p2=v2......):
funt_block
# 調用2
valut1= 100
valut2= 200
funt_name(valut1,valut2)
參數詳解?
- 參數分類
- 普通參數
- 默認參數
- 關鍵參數
- 收集參數
- 普通參數
- (參見上面的例子)
- 在定義的時候直接定義變量名
- 調用的時候直接把變量或值放入指定位置
def 函數名 (參數1....參數2,.....):
函數體
# 調用
函數名 (value1, value2.....)之會按位置調用
# 調用的時候,具體值參考的時位置,按位置賦值
- 默認參數
- 形參帶有默認值
- 調用的時候,如果沒有對相應的參數值,則會使用默認參數值
def funt name(p1=v1, p2=v2......):
funt_block
# 調用2
valut1= 100
valut2= 200
funt_name(valut1,valut2)
In [55]:
# 默認參數示例
#報名參數,需知學生性別
#學習 python 的學院基本都是男的,所有,報名的的時候如果沒有特殊指定,就默認是男的
def reg(name, age, gender="male"):
if gender == "male":
print("{0} is {1}, and he is a good student".format(name,age))
else:
print("{0} is {1}, and she is a good student".format(name,age))
. . .
In [56]:
# 調用默認參數值案例
reg("ruirui",21)
reg("ruiuri",21,"female")
ruirui is 21, and he is a good student ruiuri is 21, and she is a good student. . . In [ ]:
while - 函數