1. 程式人生 > >Python迴圈語句及函式的定義

Python迴圈語句及函式的定義

 

迴圈語句¶

  • 重複執行某一個固定的動作或者任務
  • 語法

      for 變數 in序列:
          語句1
          語句2
          .....
In [2]:
# 列表知識只是以後會講
# 比如[1,2,3,4,5,6,7]

list_one = [1,2,3,4,5,6,7]
for shuzi in list_one:
    print(shuzi)
    print(shuzi+100)
    print(shuzi+1000)
 
1
101
1001
2
102
1002
3
103
1003
4
104
1004
5
105
1005
6
106
1006
7
107
1007
In [5]:
# 列印學生列表姓名
# 如果是jingjian,那肯定是我的最愛
# 如果是別的學生,那要冷酷的拒絕她

stu_list = ['王大雁','李美麗','王曉靜']
for stu in stu_list:
    if stu == "王曉靜":
        print("曉靜你去哪裡了?")
    else :
        print("對不起同學,饒了老衲吧")
 
對不起同學,饒了老衲吧
對不起同學,饒了老衲吧
曉靜你去哪裡了?
 

for- else 語句¶

  • for迴圈結束的時候,有時候需要執行一些收尾工作,此時需要使用else語句
  • else語句是可選的
In [6]:
# for-else語句
# 列印列表中的同學
# 如果沒有在列表中,或者列表結束了,我們需要列印提示語句,表示不再愛了

stu_list = ['王大雁','李美麗','王曉靜']
for stu in stu_list:
    if stu == "王曉靜":
        print("曉靜你去哪裡了?")
    else :
        print("對不起同學,饒了老衲吧")
else:
    print("不會在愛了")
 
對不起同學,饒了老衲吧
對不起同學,饒了老衲吧
曉靜你去哪裡了?
不會在愛了
 

break, continue,pass¶

  • break:無條件結束整個迴圈,簡稱迴圈猝死
  • continue: 繼續
  • pass: 只是佔位符好,代表這句話啥也不幹,沒有跳過功能
In [8]:
# 確定一個數字佇列中是否包含數字7
# 去欸的那個是否包含,只要找到一個即可,不需要再繼續往下找了,所以使用break
dig_list = [3,4,6,7,88,34,54,3,7]

for dig in dig_list:
    if dig ==7:
        print("哈哈哈,找到了")
        break
    else: 
        print(dig)
 
3
4
6
哈哈哈,找到了
In [21]:
# continue 語句聯絡
# 在數字1-10中,尋找所有偶數,找到偶數後列印偶數

dig_list = [1,2,3,4,5,6,7,8,9,10]
'''
for dig in dig_list:
    if dig % 2 == 0:
        print(dig)
        print("哈哈,你是個雙數")
    else:
        continue
'''
# 此段程式碼跟上段程式碼等價
for dig in dig_list:
    if dig % 2 == 1:
        continue    
    print(dig)
    print("哈哈,你是個雙數")
 
2
哈哈,你是個雙數
4
哈哈,你是個雙數
6
哈哈,你是個雙數
8
哈哈,你是個雙數
10
哈哈,你是個雙數
In [22]:
# pass 案例1

age = 19
if age > 19:
    pass
else:
    print("你還小")
 
你還小
In [23]:
# pass 案例2

ages = [2,23,43,54,65,2]
for age in ages:
    pass 
    print(age)
 
2
23
43
54
65
2
 

range函式¶

  • 生成有序數列
  • 生成數字佇列可以定製
In [17]:
# range 案列1
# 生成一個從1到20的數字序列
# range的生成序列的兩個而數字是左包括右邊不包括
dig_lis = range(1,20)
for dig in dig_lis:
    print(dig)

# 一般在python中 ,表示範圍的數字都是左包括右邊不包括,randint函式是個特例
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
In [3]:
# range 案例3
# 列印從1到9的數字
for i in range(1,10):
    print(i)
 
1
2
3
4
5
6
7
8
9
 

while 迴圈¶

  • 一個迴圈語句
  • 表示當條件成立的時候,就迴圈,適應於不知道具體迴圈次數,但能確定再某個條件成立時就迴圈
  • while 語法:

      while 條件表示式:
          語句塊
    
       # 另外一種表達方法
       while 條件表示式:
           語句塊1
       else:
           語句塊2
In [11]:
# 如果說年利率是6.7%,本利是每年翻滾,則多少年後本錢會翻倍

benqian = 10000
year = 0 # 存放現需要翻本的年數

while benqian < 20000:
    benqian = benqian * (1+0.067)
    year += 1
    
print(year)

# 年利率案例2
# 本案例中迴圈體沒有被執行,上案例中benqian>20000,直接else

while benqian < 20000:
    benqian = benqian * (1+0.067)
    year += 1 # year =year + 1
else: 
    print(year)
 
11
11
 

函式¶

  • 函式是程式碼的一種組織形式
  • 函式應該能完成一特定的工作,而且一般一個函式值完成一項工作
  • 有些語言,分函式和過程兩個概念,通俗解釋是,有返回結果的叫函式,無返回結果的叫過程,python不加以區分
  • 函式的使用
    • 函式使用需要定義
    • 使用函式,俗稱呼叫
In [13]:
# 定義一個函式
# 只是定義的話不會執行
# 1. def關鍵字,後跟一個空格
# 2. 函式名,自己定義,起名需要遵循便令命名規則,約定俗成,大駝峰命名只給類用
# 3. 後面括號和冒號不能省,括號內可以由引數
# 4. 函式內所有程式碼縮排

# 函式宣告
def func():
    print("我是一個函式")
    print("愛生活,愛拉芳,愛小靜")
    
print("函式結束了")
 
 
函式結束了
In [16]:
# 函式的呼叫
# 直接寫出函式的名字,後面小括號不能省略,括號內容根據情況而定
func()
 
我是一個函式
愛生活,愛拉芳,愛小靜