Python入門學習筆記————04(while迴圈,函式)
阿新 • • 發佈:2018-12-29
while 迴圈
- 一個迴圈語句
- 某條件成立時迴圈
- 不確定具體的迴圈次數,但能夠知道就具體的迴圈條件就用while
- 語法
while 條件表示式: 語句塊
while ... ellse...
whhile 條件表示式:
語句塊1
else:
語句塊2
(與for迴圈中的else基本一致)
In [3]:
#年利率6.6% ,存十萬元,多少年到二十萬
benjin = 100000
year = 0
while benjin < 200000 :
benjin = benjin * (1+0.066)
year += 1 # year = year + 1
print('第{0}年拿到{1}元'.format(year,benjin))
第1年拿到106600.0元 第2年拿到113635.6元 第3年拿到121135.54960000001元 第4年拿到129130.49587360003元 第5年拿到137653.10860125764元 第6年拿到146738.21376894065元 第7年拿到156422.93587769073元 第8年拿到166746.84964561832元 第9年拿到177752.14172222913元 第10年拿到189483.78307589627元 第11年拿到201989.71275890543元
# 函式
- 程式碼的組織形式
- 一般一個程式碼自完成一項功能
- 函式的使用
- 函式的定義
def 函式名(可有引數也可沒有引數):
函式內容
- 函式的呼叫
直接呼叫函式名(有引數寫引數,沒引數不寫)
In [8]:
#函式的定義
# 定義一個函式
#只定義不執行
#注意函式的命名準則,一般不使用大駝峰
#注意函式的縮排
def func():
print('hello')
print('how are you?')
print('bye')
In [7]:
c
hello
how are you?
bye
In [10]:
# 注意縮排
def func():
print('hello')
print('how are you?')
print('bye')
bye
In [11]:
#函式的引用
func()
hello
how are you?
### 函式的引數和返回值
- 負責給函式傳遞一些必要的資料或資訊
- 形參(形式引數):在函式定義時用到,沒有實際值,只是佔位
- 實參(實際引數):在函式呼叫時輸入的值
- 返回值:函式的執行結果
- 用return關鍵字
- 如果沒有return,則預設返回None
- 一旦出現return則無條件法回,結束函式
In [16]:
#引數的使用,return的使用
def hello(person):
print ('你好啊{0}'.format(person))
print ('你在幹嘛呢')
return '{0},你不理我,我就走了啊!{0}'.format(person) #函式執行完成以後的結果
p = '狗蛋'
str=hello(p) #呼叫時用p 代表person
print(str) #列印函式執行結果
你好啊狗蛋
你在幹嘛呢
狗蛋,你不理我,我就走了啊!狗蛋
In [19]:
#return例項
def hello(person):
print ('你好啊{0}'.format(person))
return '我結束了' #出現return,函式執行結束
print ('你在幹嘛呢')
return '{0},你不理我,我就走了啊!{0}'.format(person)
p = '狗蛋'
str=hello(p)
print(str)
你好啊狗蛋
我結束了
In [21]:
#幫助命令的使用
#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 [24]:
#九九乘法表 version1.0
for row in range(1,10):
for col in range(1,row+1):
print (row*col,end=' ') #print函式會自動進行換行
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 [26]:
##九九乘法表 version2.0
def printline(row):
for col in range(1,row+1):
print (row*col,end=' ') #print函式會自動進行換行
print("")
for row in range(1,10):
printline(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
參考詳情
(函式定義時用形參,呼叫時為實參)
- [參考資料](https://www.cnblogs.com/bingabcd/p/6671368.html)
- python參考資料:headfirst Python-->零基礎入門學習Python(小甲魚)
-
引數分類
- 普通引數
- 預設引數
- 關鍵字引數
- 收集引數
-
普通引數
- 定義時直接定義變數名
-
呼叫時直接把變數或者值放入指定位置
def 函式名(引數1,引數2,引數3,...)
函式體
#呼叫 函式名(val1,val2,val3,...) 實參與形參按位置一一對應
-
預設引數
- 形參帶有預設值
-
呼叫時如果沒有賦值則直接使用預設值
def func_name(p1=vl1,p2=vl2,p3=vl3,...)
func_block 呼叫1 func_name() 呼叫2 val1=100 vavl2=200 func_name(val1,val2)
In [37]:
#預設引數例子
def red (name,age,sex='man'):
if sex == 'man':
print('{0} ,he is a good student'.format(name))
else:
print('{0} ,she is a good student'.format(name))
In [41]:
#呼叫
red ('xiaoming',21)
red ('lingling',20,'woman')
xiaoming ,he is a good student
lingling ,she is a good student