You are on page 1of 21

TS.

Nguyễn Thanh Nhã 8/24/2021

Kỹ thuật Lập trình (CKT)


PROGRAMMING FOR ENGINEERINGS

TS. Nguyễn Thanh Nhã


Email: nhanguyen@hcmut.edu.vn
Phone: 0908.56.81.81; FB: Nhã Nguyễn
https://www.researchgate.net/profile/Nguyen-Nha
https://scholar.google.com/citations?hl=en&authuser=1&user=nEO-IyIAAAAJ

Department of Engineering Mechanics – HCMUT 2021

NỘI DUNG CHÍNH

0. Giới thiệu môn học

1. Giới thiệu về máy tính và lập trình

2. Giới thiệu về ngôn ngữ Python

3. Các kiểu dữ liệu phổ biến

4. Các cấu trúc điều khiển

5. Hàm và module trong Python

6. Lập trình hướng đối tượng

7. Numerical Analysis with Python (Numpy - Matplotlib)

8. Graphical user interface (GUI)

9. File input / output


Department of Engineering Mechanics – HCMUT 2021

nhanguyen@hcmut.edu.vn 1
TS. Nguyễn Thanh Nhã 8/24/2021

Chương 3

Các kiểu dữ liệu trong Python


(Standard Data Types in Python)

Department of Engineering Mechanics – HCMUT 2021

Chương 3. Các kiểu dữ liệu trong Python PROGRAMMING FOR ENGINEERINGS

Sau khi học chương 3, sinh viên có thể:

- Sử dụng biến và phép gán giá trị cho biến

- Sử dụng cơ bản các kiểu dữ liệu trong Python

Department of Engineering Mechanics – HCMUT 2021

nhanguyen@hcmut.edu.vn 2
TS. Nguyễn Thanh Nhã 8/24/2021

Chương 3. Các kiểu dữ liệu trong Python PROGRAMMING FOR ENGINEERINGS

3.1. Biến và phép gán trong Python

- Biến là các vị trí bộ nhớ được dành riêng để lưu trữ dữ liệu.

- Khi một biến đã được lưu trữ, một khoảng không gian đã
được cấp phát trong bộ nhớ đó.

- Dựa trên kiểu dữ liệu của một biến, trình thông dịch cấp phát
bộ nhớ và quyết định những gì có thể được lưu trữ trong
khu nhớ dành riêng cho biến đó.

- Bằng việc gán các kiểu dữ liệu khác nhau cho các biến, bạn
có thể lưu trữ số nguyên, thập phân hoặc ký tự trong các
biến này.

Department of Engineering Mechanics – HCMUT 2021

Chương 3. Các kiểu dữ liệu trong Python PROGRAMMING FOR ENGINEERINGS

3.1. Biến và phép gán trong Python


- Trong Python, không cần khai báo biến một cách tường minh. Khi
bạn gán bất cứ giá trị nào cho biến thì biến đó được khai báo một
cách tự động. Phép gán được thực hiện bởi toán tử “=”.
- Toán hạng trái của toán tử “=” là tên biến và toán hạng phải là giá
trị được lưu trữ trong biến.

Ví dụ: lệnh gán total = 2 tạo ra một biến có tên là total và cho nó
tham chiếu đến một đối tượng dữ liệu số có giá trị 2
- Có thể gán biến đơn hoặc gán đa biến (multiple assignment)

>>>a=3 >>>a=b=c=4 >>>a,b,c=4,5,6


>>>print(a) >>>print(a) >>>print(a); print(b); print(c)
>>>print(b)
>>>b=‘xxx’ >>>print(c)
>>>print(b)
Department of Engineering Mechanics – HCMUT 2021

nhanguyen@hcmut.edu.vn 3
TS. Nguyễn Thanh Nhã 8/24/2021

Chương 3. Các kiểu dữ liệu trong Python PROGRAMMING FOR ENGINEERINGS

3.1. Biến và phép gán trong Python


- Trong một phép gán, vế phải được tính toán
giá trị, sau đó một tham chiếu đến dữ liệu total
2
kết quả được gán cho tên biến ở vế trái

- Tại thời điểm này, biến total có giá trị là kiểu số nguyên (số 2)

- Nếu một phép gán mới được tạo ra cùng


với tên biến cũ, giả sử total = True (True total
True
là kiểu dữ liệu luận lý).

- Lúc này, kiểu dữ liệu của biến total được thay đổi thành kiểu luận lý
theo giá trị được tham chiếu của phép gán.

 Đây là đặc tính động của Python (dynamic characteristic)

 Biến có thể thay đổi kiểu dữ liệu!

Department of Engineering Mechanics – HCMUT 2021

Chương 3. Các kiểu dữ liệu trong Python PROGRAMMING FOR ENGINEERINGS

3.2. Các kiểu dữ liệu trong Python

Python có 5 kiểu dữ liệu chuẩn:

Department of Engineering Mechanics – HCMUT 2021

nhanguyen@hcmut.edu.vn 4
TS. Nguyễn Thanh Nhã 8/24/2021

Chương 3. Các kiểu dữ liệu trong Python PROGRAMMING FOR ENGINEERINGS

3.2. Các kiểu dữ liệu trong Python


Kiểu luận lý (boolean)
- Kiểu giá trị luận lý thường dùng trong các biểu thức điều kiện khi
lập trình (if, while)
- Kiểu luận lý chỉ có 2 kết quả là True (hay 1) hoặc False (hay 0)
- Các toán tử: and, or, not

Ví dụ: >>> 2 > 1 >>>b = 1 > 5 >>>True and False


True >>>b False

>>>True >= False >>>True is 1 >>>True == 1


True False True

>>>5 is 5 >>>True and 1 >>>1 and True


True 1 True
Department of Engineering Mechanics – HCMUT 2021

Chương 3. Các kiểu dữ liệu trong Python PROGRAMMING FOR ENGINEERINGS

3.2. Các kiểu dữ liệu trong Python


1. Numeric types
- Kiểu dữ liệu Number lưu trữ các giá trị số.
- Chúng là các kiểu dữ liệu immutable, hay là kiểu dữ liệu không
thay đổi, nghĩa là các thay đổi về giá trị của kiểu dữ liệu số này sẽ
tạo ra một đối tượng được cấp phát mới.
- Các đối tượng Number được tạo khi bạn gán một giá trị cho chúng

Ví dụ: >>>var1=3
>>>var2=5

- Xóa tham chiếu tới một đối tượng Number: sử dụng lệnh del
>>>del var1 >>>a,b,c=1,2,3
>>>var1 >>>del a,b
NameError: name ‘var1' is not defined
Department of Engineering Mechanics – HCMUT 2021

nhanguyen@hcmut.edu.vn 5
TS. Nguyễn Thanh Nhã 8/24/2021

Chương 3. Các kiểu dữ liệu trong Python PROGRAMMING FOR ENGINEERINGS

3.2. Các kiểu dữ liệu trong Python


1. Numeric types
Các kiểu dữ liệu số thường dùng
- Kiểu int: kiểu số nguyên không có dấu thập phân.
- Kiểu float: số thực với dấu thập phân. Kiểu này cũng có thể được
viết ở dạng số mũ của 10 với E hoặc e như (2.5e2 = 2.5 x 102 =
250).
- Kiểu complex: số phức trong dạng a + bj, với a và b là số thực và
j (hoặc J) biểu diễn căn bậc hai của -1.

Ví dụ: >>> a = 2 >>> b = 2. >>> c = 2 + 3j


>>> print(a) >>> print(b) >>> print(c)

>>> d = 5 + 2e2
>>> print(d)
Department of Engineering Mechanics – HCMUT 2021

Chương 3. Các kiểu dữ liệu trong Python PROGRAMMING FOR ENGINEERINGS

3.2. Các kiểu dữ liệu trong Python


1. Numeric types >>> import math
Các hàm số học thường dùng >>> from math import *

Hàm Miêu tả Hàm Miêu tả


abs(x) |x| math.trunc(x)
int(x) Chuyển thành số nguyên math.floor(x)
float(x) Chuyển thành số thực math.ceil(x)
complex(re, im) Chuyển thành số phức math.sqrt(x) Căn bậc 2 của x
c.conjugate() Liên hợp của số phức c math.exp(x) e**x
y
pow(x, y) x math.log(x) ln(x)
y
x**y x math.log10(x) log(x) cơ số 10
math.log(x,n) log(x) cơ số n

Department of Engineering Mechanics – HCMUT 2021

nhanguyen@hcmut.edu.vn 6
TS. Nguyễn Thanh Nhã 8/24/2021

Chương 3. Các kiểu dữ liệu trong Python PROGRAMMING FOR ENGINEERINGS

3.2. Các kiểu dữ liệu trong Python


2. Text Sequence Type - str
- String là một trong các kiểu phổ biến nhất trong Python.

- String trong Python là immutable.


- Có thể tạo các chuỗi bằng cách bao một text trong một trích dẫn
đơn hoặc trích dẫn kép. Python coi các lệnh trích dẫn đơn và kép
là như nhau

Ví dụ: >>> text1 = ‘I will be an engineer’


>>> print(text1)

>>> text2 = “I will be a CAE engineer”


>>> print(text2)

Department of Engineering Mechanics – HCMUT 2021

Chương 3. Các kiểu dữ liệu trong Python PROGRAMMING FOR ENGINEERINGS

3.2. Các kiểu dữ liệu trong Python


2. Text Sequence Type - str
Truy cập các giá trị trong String:
- Python không hỗ trợ kiểu chữ cái; chúng được coi như các chuỗi có
độ dài là 1.
- String được lưu dạng các ký tự đơn trong vị trí ô nhớ liên tiếp nhau.

- String là có thể được truy cập từ cả hai hướng, dùng cú pháp:


• tiến về trước forward (bắt đầu từ 0) <str_name>[index]
• ngược về sau backward (bắt đầu từ -1)
Ví dụ:
>>>var1 = 'Hello Python!' >>>print("var2[1:5]: ", var2[1:5])
>>>var2 = “I am a CAE engineer" var2[1:5]: am
>>>print("var1[0]: ", var1[0])
var1[0]: H >>>print("var2[1:5]: " + var2[1:5])
var2[1:5]: am
Department of Engineering Mechanics – HCMUT 2021

nhanguyen@hcmut.edu.vn 7
TS. Nguyễn Thanh Nhã 8/24/2021

Chương 3. Các kiểu dữ liệu trong Python PROGRAMMING FOR ENGINEERINGS

3.2. Các kiểu dữ liệu trong Python


2. Text Sequence Type - str
Ví dụ:
>>>var1 = 'Hello Python!'
>>>var2 = “I am a CAE engineer"

>>>print(var1[:6] + 'How are you? ‘) >>>print(var1[:6 ] , 'How are you? ')


Hello How are you? Hello How are you?

>>>print(var1[-3:]) >>>print(var1[-4:-2])
on! ho

Department of Engineering Mechanics – HCMUT 2021

Chương 3. Các kiểu dữ liệu trong Python PROGRAMMING FOR ENGINEERINGS

3.2. Các kiểu dữ liệu trong Python


2. Text Sequence Type - str
Các toán tử thường dùng trong chuỗi
- Nối các chuỗi: >>> 'Today ' + 'is ' + ‘Tuesday'
>>> ‘abc ' + 3  lỗi vì khác kiểu dữ liệu

- Lặp chuỗi: >>> 3*'Today' >>> “Today”*3

- Các toán tử thành phần trong chuỗi: in, not in

>>> text1 = “Today is Tuesday” >>>”si” in text1


>>>”is” in text1 False
True
>>> ”si” not in text1
True

Department of Engineering Mechanics – HCMUT 2021

nhanguyen@hcmut.edu.vn 8
TS. Nguyễn Thanh Nhã 8/24/2021

Chương 3. Các kiểu dữ liệu trong Python PROGRAMMING FOR ENGINEERINGS

3.2. Các kiểu dữ liệu trong Python


2. Text Sequence Type - str
Các toán tử quan hệ để thao tác với String: <,>, <=, >=, ==, !=, <>
Các chuỗi được so sánh dựa trên giá trị ASCII

>>> “Today” == “Today” >>> “Today” == “today”


True False

>>> “T” < “t”


True

Các toán tử định dạng chuỗi


>>> print("Bill Gates has %d billions %s" % (100, “USD”))
>>> print("Bill Gates has %e billions %s" % (100, “USD”))
>>> print("Bill Gates has %f billions %s" % (100, “USD”))
Department of Engineering Mechanics – HCMUT 2021

Chương 3. Các kiểu dữ liệu trong Python PROGRAMMING FOR ENGINEERINGS

3.2. Các kiểu dữ liệu trong Python


2. Text Sequence Type - str
Xử lý các ký tự đặc biệt

\n : ký tự xuống hàng
\t : ký tự tab
>>> print(“ky tu \n dung de xuong hang”)
ky tu
dung de xuong hang
>>> print(r“ky tu \n dung de xuong hang”)
ky tu \n dung de xuong hang

>>> print(“ky tu “”\t”” dung de TAB”)


ky tu dung de TAB

>>> print(“ky tu “r”\t”” dung de TAB”)


ky tu \t dung de TAB
Department of Engineering Mechanics – HCMUT 2021

nhanguyen@hcmut.edu.vn 9
TS. Nguyễn Thanh Nhã 8/24/2021

Chương 3. Các kiểu dữ liệu trong Python PROGRAMMING FOR ENGINEERINGS

3.2. Các kiểu dữ liệu trong Python


2. Text Sequence Type - str
Xử lý các ký tự đặc biệt

' : chuỗi có dấu nháy đơn


Cách 1: dùng định dạng chuỗi bằng dấu nháy kép
>>> ”It isn’t”
"It isn't"

Cách 2: dùng ký tự \ để thoát cặp nháy đơn


>>> 'It isn\'t‘
'It isn’t'

" : chuỗi có dấu nháy kép


dùng định dạng chuỗi bằng dấu nháy đơn
>>> 'She said: " I love you! "'
Department of Engineering Mechanics – HCMUT 2021

Chương 3. Các kiểu dữ liệu trong Python PROGRAMMING FOR ENGINEERINGS

3.2. Các kiểu dữ liệu trong Python


2. Text Sequence Type - str
Một số hàm xử lý chuỗi

>>> text = “today” >>> text = “today is Tuesday”


>>> text.capitalize() >>> text.count(“day”, 0, 7)
Today >>> text.count(“day”, 0, 20)

>>> text = “today is Tuesday” >>> text = “today is Tuesday”


>>> text.upper() >>> len(text)
>>> text.lower()

>>> text = “today is Tuesday”


>>> text.replace(“day”,”Tuesday”,1)

Department of Engineering Mechanics – HCMUT 2021

nhanguyen@hcmut.edu.vn 10
TS. Nguyễn Thanh Nhã 8/24/2021

Chương 3. Các kiểu dữ liệu trong Python PROGRAMMING FOR ENGINEERINGS

3.2. Các kiểu dữ liệu trong Python


3. List
- List trong Python là cấu trúc dữ liệu có khả năng lưu giữ các kiểu
dữ liệu khác nhau.
- List trong Python là kiểu thay đổi (mutable), nghĩa là Python sẽ
không tạo một List mới khi một phần tử trong List bị sửa đổi.
- List giữ các đối tượng khác nhau trong một thứ tự đã cho. Các
hoạt động khác nhau như chèn hoặc xóa có thể được thực hiện
trên List.
- Một List có thể được tạo ra bởi lưu trữ một dãy các kiểu giá trị
khác nhau được phân biệt bởi các dấu phẩy.

Cú pháp để tạo List <list_name>=[giatri1, giatri2, ..., giatriN];

>>> ckt19 = [“CKT19”, “GV: Nguyen Thanh Nha”, 54, 4]


>>> diemThi = [5, 8, 9, 10, 2]
Department of Engineering Mechanics – HCMUT 2021

Chương 3. Các kiểu dữ liệu trong Python PROGRAMMING FOR ENGINEERINGS

3.2. Các kiểu dữ liệu trong Python


3. List
Truy xuất giá trị trong List
- Tương tự như String, List có thể được truy xuất từ cả hai hướng
• tiến về trước forward (bắt đầu từ 0)
• ngược về sau backward (bắt đầu từ -1)
- Cú pháp truy cập giá trị List < list_name >[index]

>>> ckt19 = [“CKT19”, “GVCN: Nguyen Thai Hien”, 54, 46]


>>> ckt19[0]
'CKT19‘
>>> ckt19[0:2]
[“CKT19”, “GVCN: Nguyen Thai Hien”]
>>> ckt19[-1]
46

Department of Engineering Mechanics – HCMUT 2021

nhanguyen@hcmut.edu.vn 11
TS. Nguyễn Thanh Nhã 8/24/2021

Chương 3. Các kiểu dữ liệu trong Python PROGRAMMING FOR ENGINEERINGS

3.2. Các kiểu dữ liệu trong Python


3. List Truy xuất giá trị trong List

VD 2 cách đánh chỉ số trong Python:


- Từ <Start> đến <End>: bắt đầu từ 0, tăng dần.
- Từ <End> đến <Start>: bắt đầu từ -1, giảm dần.

List1 = [ A , B , C , D , E , F , G ]
Start End
0 1 2 3 4 5 6
Start End
‐7 ‐6 ‐5 ‐4 ‐3 ‐2 ‐1

Ví dụ:
List1[1] = List1[-6] = B
List1[3] = List1[-4] = D
Department of Engineering Mechanics – HCMUT 2021

Chương 3. Các kiểu dữ liệu trong Python PROGRAMMING FOR ENGINEERINGS

3.2. Các kiểu dữ liệu trong Python


3. List Truy xuất giá trị trong List
Dùng để trích xuất một số đối tượng con từ đối tượng đã có.
Cú pháp: <list_name>[Start:Stop:Step]

Trong đó, < list_name> là tên của đối tượng cần cắt lát (có thể là string,
list, array, …)
Start là chỉ số của phần tử bắt đầu
Stop là chỉ số của phần tử kết thúc
Step là bước nhảy

Lát cắt này bao gồm các phần tử từ vị trí <Start> đến trước vị trí <Stop>
(không bao gồm phần tử <Stop>)

Ví dụ:
>>> list1 = ['a','b','c','d','e','f','g'] >>> list1 = ['a','b','c','d','e','f','g']
>>> list1[1:3] >>> list1[0:6:2]
['b', 'c'] ['a', 'c', 'e']
Department of Engineering Mechanics – HCMUT 2021

nhanguyen@hcmut.edu.vn 12
TS. Nguyễn Thanh Nhã 8/24/2021

Chương 3. Các kiểu dữ liệu trong Python PROGRAMMING FOR ENGINEERINGS

3.2. Các kiểu dữ liệu trong Python


3. List
Các thao tác cơ bản trên List
- Phép cộng + và phép nhân *  Tạo ra List mới

>>> list1 = [2, 3, 5, 4] >>> list4 = 2*list1


>>> list2 = [“a”, “b”, “c”] >>> list4
>>> list3 = list1 + list2 [2, 3, 5, 4, 2, 3, 5, 4]
>>> list3
[2, 3, 5, 4, “a”, “b”, “c”]

- List trong List


>>> list1 = [2, 3, 5, 4] >>> list5[3]
>>> list5 = [0, 1, 0, list1] [2, 3, 5, 4]
>>> list5 >>> list5[3][1]
[0, 1, 0, [2, 3, 5, 4]] 3

Department of Engineering Mechanics – HCMUT 2021

Chương 3. Các kiểu dữ liệu trong Python PROGRAMMING FOR ENGINEERINGS

3.2. Các kiểu dữ liệu trong Python


3. List
Các thao tác cơ bản trên List: cập nhật giá trị
- Có thể cập nhật một hoặc nhiều phần tử của List bằng phép gán
giá trị cho vị trí cụ thể trong List
- Cú pháp: <list_name>[index]=<value>

>>> list1 = [2, 3, 5, 4]


>>> list1[1] = 'xyz'
>>> list1
[2, 'xyz', 5, 4]

Department of Engineering Mechanics – HCMUT 2021

nhanguyen@hcmut.edu.vn 13
TS. Nguyễn Thanh Nhã 8/24/2021

Chương 3. Các kiểu dữ liệu trong Python PROGRAMMING FOR ENGINEERINGS

3.2. Các kiểu dữ liệu trong Python


3. List
Các thao tác cơ bản trên List: thêm giá trị vào cuối
- Có thể thêm một hoặc nhiều phần tử vào cuối List bằng lệnh
append
- Cú pháp: <list_name>.append(item)

>>> list1 = [2, 3, 5, 4] >>> list1 = [2, 3, 5, 4]


>>> list1.append(6) >>> list1.append([6, “a”])
>>> list1 >>> list1
[2, 3, 5, 4, 6] [2, 3, 5, 4, [6, 'a']]

Chú ý: Chỉ có 1 thông số item trong lệnh append


>>> list1.append(6,'a')
TypeError: append() takes exactly one argument (2 given)

Department of Engineering Mechanics – HCMUT 2021

Chương 3. Các kiểu dữ liệu trong Python PROGRAMMING FOR ENGINEERINGS

3.2. Các kiểu dữ liệu trong Python


3. List
Các thao tác cơ bản trên List: xóa phần tử
- Có thể xóa một hoặc nhiều phần tử trong List bằng lệnh del (biết
trước vị trí cần xóa)
- Cú pháp: del <list_name>[index]
>>> list1 = [2, 3, 5, 4, 'a'] >>> list1 = [2, 3, 5, 4, 'a']
>>> del list1[1] >>> del list1[2:4]
>>> list1 >>> list1
[2, 5, 4, 'a'] [2, 3, 'a']

- Có thể xóa một phần tử trong List bằng lệnh remove (biết trước
giá trị cần xóa) >>> list1 = [2, 3, 5, 4, 'a']
- Cú pháp: <list_name>.remove(item) >>> list1.remove(5)
>>> list1
[2, 3, 4, 'a']
Department of Engineering Mechanics – HCMUT 2021

nhanguyen@hcmut.edu.vn 14
TS. Nguyễn Thanh Nhã 8/24/2021

Chương 3. Các kiểu dữ liệu trong Python PROGRAMMING FOR ENGINEERINGS

3.2. Các kiểu dữ liệu trong Python


3. List
Một số hàm và phương thức thường dùng trên List

Hàm Miêu tả
cmp(list1, list2) So sánh các phần tử trong hai list
len(list) Trả về độ dài của list
max(list), min(list) Trả về phần tử có giá trị lớn nhất/nhỏ
nhất trong list
Phương thức Miêu tả
list.count(obj) Đếm số lần obj xuất hiện trong list
list.extend(seq) Thêm list seq vào sau list
list.reverse() Đảo ngược các thành phần
list.sort() Sắp xếp các thành phần từ nhỏ đến
lớn

Department of Engineering Mechanics – HCMUT 2021

Chương 3. Các kiểu dữ liệu trong Python PROGRAMMING FOR ENGINEERINGS

3.2. Các kiểu dữ liệu trong Python


4. Tuple
- Tuple là dãy các đối tượng không thay đổi (immutable) trong
Python, vì thế tuple không thể bị thay đổi. Các tuple cũng là các
dãy giống như List.
- Các đối tượng trong tuple được phân biệt bởi dấu phẩy và được
bao quanh bởi dấu ngoặc đơn (). Nếu các dấu ngoặc đơn không
được cung cấp với một dãy, thì nó được coi như là tuple.
- Giống như chỉ số của chuỗi và list, chỉ mục của tuple bắt đầu từ 0.

Cú pháp tạo Tuple <tuple_name>=(value1, value2, ..., valueN)

>>> ckt16 = (“CKT16”, “GVCN: PQH”, 54, 46)


>>> diemThi = 5, 8, 9, 10, 2 >>> diemKT = ()

Chú ý: Nếu tuple có 1 phần tử đơn thì phải có dấu phẩy cuối >>> tuple1 = (5,)
Department of Engineering Mechanics – HCMUT 2021

nhanguyen@hcmut.edu.vn 15
TS. Nguyễn Thanh Nhã 8/24/2021

Chương 3. Các kiểu dữ liệu trong Python PROGRAMMING FOR ENGINEERINGS

3.2. Các kiểu dữ liệu trong Python


4. Tuple
Truy xuất các giá trị trong Tuple
- Tương tự như List, Tuple có thể được truy xuất từ cả hai hướng
• tiến về trước forward (bắt đầu từ 0)
• ngược về sau backward (bắt đầu từ -1)
- Cú pháp truy cập giá trị Tuple <Tuple_name>[index]
>>> t1=(1,3,2,”x”,”y”) >>> t1=(1,3,2,”x”,”y”)
>>> t1[0:2] >>> t1[-1]
(1, 3) ‘y’

- Tuple trong Tuple


>>> t2=(1,3,2,(”x”,”y”)) >>> t2=(1,3,2,(”x”,”y”))
>>> t2 >>> t2[3][0]
(1, 3, 2, ('x', 'y')) ‘x’
Department of Engineering Mechanics – HCMUT 2021

Chương 3. Các kiểu dữ liệu trong Python PROGRAMMING FOR ENGINEERINGS

3.2. Các kiểu dữ liệu trong Python


4. Tuple
Các thao tác cơ bản trên Tuple
- Phép cộng + và phép nhân *  Tạo ra Tuple mới

>>> t1 = (2, 3, 5, 4) >>> t4 = 2*t1


>>> t2 = (“a”, “b”, “c”) >>> t4
>>> t3 = list1 + list2 (2, 3, 5, 4, 2, 3, 5, 4)
>>> t3
(2, 3, 5, 4, “a”, “b”, “c”)

>>> del t4
- Xóa Tuple del <Tuple_name>
>>> t4
Chú ý:
• Không thể xóa các phần tử đơn trong tuple
• Không thể cập nhất giá trị các phần tử trong tuple
Department of Engineering Mechanics – HCMUT 2021

nhanguyen@hcmut.edu.vn 16
TS. Nguyễn Thanh Nhã 8/24/2021

Chương 3. Các kiểu dữ liệu trong Python PROGRAMMING FOR ENGINEERINGS

3.2. Các kiểu dữ liệu trong Python


4. Tuple
Một số hàm thường dùng trên Tuple

Hàm Miêu tả
cmp(tuple1, tuple2) So sánh các phần tử trong hai tuple
len(tuple) Trả về độ dài của tuple
max(tuple), min(tuple) Trả về phần tử có giá trị lớn nhất/nhỏ
nhất trong tuple
list.count(obj) Đếm số lần obj xuất hiện trong tuple

Department of Engineering Mechanics – HCMUT 2021

Chương 3. Các kiểu dữ liệu trong Python PROGRAMMING FOR ENGINEERINGS

3.2. Các kiểu dữ liệu trong Python


5. Dictionary
- Dictionary là một tập hợp các cặp key và value không có thứ tự.
- Dictionary là một container chứa dữ liệu, được bao quanh bởi cặp
dấu ngoặc nhọn { }. Mỗi cặp key-value được xem như là một item.
- Key mà đã truyền cho item đó phải là duy nhất, trong khi đó value
có thể là bất kỳ kiểu giá trị nào.
- Key phải là một kiểu dữ liệu không thay đổi (immutable) như chuỗi,
số hoặc tuple.

- Key và value được phân biệt riêng rẽ bởi một dấu hai chấm (:).
Các item phân biệt nhau bởi một dấu phẩy (,).

Department of Engineering Mechanics – HCMUT 2021

nhanguyen@hcmut.edu.vn 17
TS. Nguyễn Thanh Nhã 8/24/2021

Chương 3. Các kiểu dữ liệu trong Python PROGRAMMING FOR ENGINEERINGS

3.2. Các kiểu dữ liệu trong Python


5. Dictionary
Cú pháp tạo Dictionary
<dict_name>={key1:value1,key2:value2 ..., keyN:valueN}

>>> char1 = {'Name':'Mr. Bean', 'Born': 1960, 'Heigh': 170}


>>> char2 = {'Name':'Mr. Bean', 'Born': 1960, ['Heigh‘, 'Weight']: 170}

Chú ý:
- Khi có nhiều key giống nhau, phép gán cuối được thực hiện  chỉ
truy xuất được value ứng với key cuối đó

>>> char3 = {'Name':'Hector', 'Born': 1960, 'Heigh': 180, 'Born': 1970}


>>> char3['Born']

Department of Engineering Mechanics – HCMUT 2021

Chương 3. Các kiểu dữ liệu trong Python PROGRAMMING FOR ENGINEERINGS

3.2. Các kiểu dữ liệu trong Python


5. Dictionary
Truy xuất giá trị trong Dictionary <dict_name>[key]

>>> char1 = {'Name':'Mr. Bean', 'Born': 1960, 'Heigh': 170}


>>> char1['Born']
1960
>>> char1['Die']

Cập nhật giá trị trong Dictionary <dict_name>[key] = newValue

data1={'ID':100, 'Name':'Thanh', 'Job':'Developer'}


data2={'ID':101, 'Name':'Chinh', 'Job':'Trainer'}
data1['Job']='Manager‘ # Cập nhật Job cho data1
data2['SalaryLevel']=1000 # thêm 1 item cho dict data2
data1['SalaryLevel']=10000

Department of Engineering Mechanics – HCMUT 2021

nhanguyen@hcmut.edu.vn 18
TS. Nguyễn Thanh Nhã 8/24/2021

Chương 3. Các kiểu dữ liệu trong Python PROGRAMMING FOR ENGINEERINGS

3.2. Các kiểu dữ liệu trong Python


5. Dictionary
Xóa phần tử trong Dictionary del <dict_name>[key]

>>> char1 = {'Name':'Mr. Bean', 'Born': 1960, 'Heigh': 170}


>>> del char1['Born']
>>> char1

Xóa cả Dictionary del <dict_name>

>>> del char1


>>> char1

Department of Engineering Mechanics – HCMUT 2021

Chương 3. Các kiểu dữ liệu trong Python PROGRAMMING FOR ENGINEERINGS

3.2. Các kiểu dữ liệu trong Python


5. Dictionary
Một số hàm và phương thức thường dùng trong Dictionary

Hàm Miêu tả
cmp(dict1, dict2) So sánh các phần tử trong hai dict
len(dict) Trả về độ dài của dict
str(dict) Trả về chuỗi có thể in ra được cho dict
Phương thức Miêu tả
dict.clear() Xóa tất cả phần tử của dict
dict.copy() Trả về bản sao của dict
dict.get(key) Trả về giá trị của key đã cho. Nếu key không
có mặt thì phương thức này trả về None
dict.has_key(key) Trả về true nếu key là có mặt trong
Dictionary, nếu không là false

Department of Engineering Mechanics – HCMUT 2021

nhanguyen@hcmut.edu.vn 19
TS. Nguyễn Thanh Nhã 8/24/2021

Chương 3. Các kiểu dữ liệu trong Python PROGRAMMING FOR ENGINEERINGS

Bài tập tại lớp


Bài 1.
Với 1 list gồm các string được cho trước. Hãy viết 1 chương trình sắp xếp các phần
tử trong list theo thứ tự độ dài string tăng dần.

VD:
Input: [‘aaaa’,’b’,’ccc’,’dd’]
Output: [‘b’,’dd’,’ccc’,’aaaa’]

Department of Engineering Mechanics – HCMUT 2021

Chương 3. Các kiểu dữ liệu trong Python PROGRAMMING FOR ENGINEERINGS

Bài tập tại lớp


Bài 2.
Biết rằng split() dùng để tách các từ trong 1 string thành các thành phần trong 1 list.
Dấu tách (separator) mặc định là “Dấu cách”.

Hãy viết 1 chương trình cho phép người dùng nhập vào 1 câu, sau đó xuất ra màn
hình câu với thứ tự các từ bị đảo ngược và toàn bộ câu được viết hoa.

VD:
Input: ‘luc di het minh luc ve het buon’
Output: ‘BUON HET VE LUC MINH HET DI LUC’

Department of Engineering Mechanics – HCMUT 2021

nhanguyen@hcmut.edu.vn 20
TS. Nguyễn Thanh Nhã 8/24/2021

Chương 3. Các kiểu dữ liệu trong Python PROGRAMMING FOR ENGINEERINGS

Bài tập tại lớp


Bài 3.
Theo Wikipedia, Giờ Hoàng đạo được tính như sau:
“Một ngày đêm âm lịch là 12 giờ (2 tiếng đồng hồ là một giờ), bắt đầu là giờ Tý (từ
11 giờ đêm - 1 giờ sáng) theo thứ
tự: Tý, Sửu, Dần, Mão, Thìn, Tị, Ngọ, Mùi, Thân, Dậu, Tuất, Hợi.”
Như vậy giờ Tý bắt đầu từ 23h đêm hôm trước đến trước 1h sáng hôm sau, từ 1h
đến trước 3h là giờ Sửu, … được tóm tắt trong bảng sau:

23h – 1h 1h – 3h 3h – 5h 5h – 7h 7h – 9h 9h – 11h
Tý Sửu Dần Mão Thìn Tị
11h – 13h 13h – 15h 15h – 17h 17h – 19h 19h – 21h 21h – 23h
Ngọ Mùi Thân Dậu Tuất Hợi

Hãy viết chương trình để khi người dùng nhập vào giờ (số nguyên) thì xuất ra kết
quả là giờ hoàng đạo tương ứng.

VD: Input: 16 Output: Thân


Department of Engineering Mechanics – HCMUT 2021

nhanguyen@hcmut.edu.vn 21

You might also like