Python II

2019/10/17
講義: 林弘祥、蘇育德、林芝安

課程簡介

  • 補充有趣的程式語言歷史和概念
  • 複習上上週內容
  • 格式化輸出
  • 邏輯判斷
  • for 迴圈
  • List串列

Download

Python IDLE*

A 5MB hard drive being shipped by IBM, 1956

機器語言(Machine Language/Code)

  • 中央運算單元(CPU)內建
  • 對應特定操縱的二進位代碼
  • 直接執行、運行速度快
  • 不同型號的CPU使用的代碼差異甚大
  • 不存在可讀性、可移植性

組合語言(Assembly)

  • 基於電腦系統架構而設計
  • 不同系統架構間存在差異

高階語言(High-Level Language)

  • 編譯語言: C/C++, Ada
  • 直譯語言: Python, Perl, MATLAB

Fortran, COBOL, Pascal, Prolog, Ada, Basic, Python

複習 & 補充

運算符

  • 括號 ()
  • 加 +
  • 減 -
  • 乘 *
  • 除 /
  • 除-取商數 //
  • 除-取餘數 %
  • 次方 **

格式化輸出

format()

string.format(*args)

格式化數字

  • 整數(int): d
  • 百分比: %
  • 浮點數(float): f

邏輯判斷

判斷符號

  • 大於: >
  • 小於: <
  • 等於: ==
  • 不等於: !=
  • 大於等於: >=
  • 小於等於: <=
  • 且(and): and
  • 或(or): or

if...else / elif

if (...): ...

要注意縮排歐 (/ OuO)/

練習時間

寫個小程式判斷給定的三邊是否可以形成三角形

#### 參考程式 ```python a = int(input()) b = int(input()) c = int(input()) if a + b > c and a + c > b and b + c > a: print("YES") else: print("NO") ```

for 迴圈

for ...: ...

for loop

for i in ...: ...

重複執行直到不滿足判斷式

in後面必須接sequence

練習時間

寫個小程式列印九九乘法表

#### 參考程式 ```python for i in range(1, 10): for j in range(1, 10): print("{:2d}*{:2d}={:2d}".format(i, j, i*j), end=' ') print() ```

List串列

[...]
  • 屬於python基本資料結構
  • 可容納不同變數類型

操作方法

  • 用[]建立列表
  • [ x ]: 取出第 x 個元素
  • [ f : d ]: 取出第 f 個元素到第 (d-1) 個元素
  • .append(x): 將 x 加入列表尾端
  • .remove(x): 將第一個元素 x 移除
  • len(list): 取得list的元素個數