Python 學習之條件語句和循環語句

一、條件語句

1、什麼是條件語句

Python 條件語句跟其他語言基本一致的,都是通過一條或多條語句的執行結果( True 或者 False )來決定執行的代碼塊。

Python 程序語言指定任何非 0 和非空(null)值爲 True,0 或者 null 爲 False。

2、if 語句的基本形式

Python 中,if 語句的基本形式如下:

if 判斷條件:
    執行語句……
else:
    執行語句……

Python 語言有着嚴格的縮進要求,因此這裏也需要注意縮進,也不要少寫了冒號 : 。

3、if 語句多個判斷條件的形式

用僞代碼來表示:

if 判斷條件1:
    執行語句1……
elif 判斷條件2:
    執行語句2……
elif 判斷條件3:
    執行語句3……
else:
    執行語句4……

4、if 語句多個條件同時判斷

結合 or 和 and 來使用:

  • or (或)表示兩個條件有一個成立時判斷條件成功
  • and (與)表示只有兩個條件同時成立的情況下,判斷條件才成功。
    **注意:**if 有多個條件時可使用括號來區分判斷的先後順序,括號中的判斷優先執行,此外 and 和 or 的優先級低於 >(大於)、<(小於)等判斷符號,即大於和小於在沒有括號的情況下會比與或要優先判斷。

二、循環語句

1、什麼是循環語句

在 Python 中提供了 for 循環和 while 循環。
控制循環的語句:

  • break
    在語句塊執行過程中終止循環,並且跳出整個循環
  • continue
    在語句塊執行過程中終止當前循環,跳出該次循環,執行下一次循環
  • pass
    pass 是空語句,是爲了保持程序結構的完整性

2、 for 循環語句

  • 字符串
for letter in 'Hello 兩點水':
    print(letter)

結果:

H
e
l
l
o

兩
點
水

3、 range() 函數

for i in range(3):
    print(i)

結果:

0
1
2
  • 使用 range(x) 函數,就可以生成一個從 0 到 x-1 的整數序列。
  • 使用 range(a,b) 函數,你可以生成了一個左閉右開的整數序列。
  • 使用 range(0,10,2) 函數, 它的意思是:從 0 數到 10(不取 10 ),每次間隔爲 2 。

4、While 循環語句

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

' 計算 1 到 100 所有整數的和 '

__author__ = 'Kevin Gong'

n = 1
sum1 = 0
while n <= 100:
    sum1 += n
    n += 1
print(sum1)

結果:

5050

5、for 循環和 whlie 循環的區別

什麼時候使用 for 循環和 while 循環呢?

  • for 循環主要用在迭代可迭代對象的情況。
  • while 循環主要用在需要滿足一定條件爲真,反覆執行的情況。 (死循環+break 退出等情況。)
  • 部分情況下,for 循環和 while 循環可以互換使用。

6、嵌套循環

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

' 計算 10 到 20 之間的數字分別是什麼數 '

__author__ = 'Kevin Gong'

for num in range(10, 20):  # 迭代 10 到 20 之間的數字
   for i in range(2, num): # 根據因子迭代
      if num % i == 0:      # 確定第一個因子
         j=num / i          # 計算第二個因子
         print ('%d 是一個合數' % num)
         break            # 跳出當前循環
   else:                  # 循環的 else 部分
      print ('%d 是一個質數' % num)

結果:

10 是一個合數
11 是一個質數
12 是一個合數
13 是一個質數
14 是一個合數
15 是一個合數
16 是一個合數
17 是一個質數
18 是一個合數
19 是一個質數

三、綜合實例

1. 九九乘法表

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

'  打印九九乘法表  '

__author__ = 'Kevin Gong'

for i in range(1, 10):
    for j in range(1, i+1):
        # 打印語句中,大括號及其裏面的字符 (稱作格式化字段) 將會被 .format() 中的參數替換,注意有個點的
        print('{}x{}={}\t'.format(i, j, i * j), end='')  
    print()

結果:

1x1=1
2x1=2   2x2=4
3x1=3   3x2=6   3x3=9
4x1=4   4x2=8   4x3=12  4x4=16
5x1=5   5x2=10  5x3=15  5x4=20  5x5=25
6x1=6   6x2=12  6x3=18  6x4=24  6x5=30  6x6=36
7x1=7   7x2=14  7x3=21  7x4=28  7x5=35  7x6=42  7x7=49
8x1=8   8x2=16  8x3=24  8x4=32  8x5=40  8x6=48  8x7=56  8x8=64
9x1=9   9x2=18  9x3=27  9x4=36  9x5=45  9x6=54  9x7=63  9x8=72  9x9=81

2、判斷是否是閏年

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

' 閏年 '

__author__ = 'Kevin Gong'

year = int(input("請輸入一個年份: "))
if (year % 4) == 0 and (year % 100) != 0 or (year % 400) == 0:
    print('{0} 是閏年' .format(year))
else:
     print('{0} 不是閏年' .format(year))

結果:

請輸入一個年份: 2020
2020 是閏年
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章