1. 程式人生 > >Python入門學習筆記————04(while迴圈,函式)

Python入門學習筆記————04(while迴圈,函式)

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