Chương 3

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 45

LẬP TRÌNH PYTHON

TRONG PHÂN TÍCH DỮ LIỆU


CÁC CẤU TRÚC ĐIỀU KHIỂN
TRONG NGÔN NGỮ LẬP TRÌNH PYTHON

TRẦN DOÃN HIẾU


NỘI DUNG
• Cấu trúc if else
• Cấu trúc lặp for
Bài 3: Các cấu trúc điều khiển

• Cấu trúc lặp while


• Câu lệnh break
• Câu lệnh continue

… những bước chập chững vào thế giới Khoa học dữ liệu … Trần Doãn Hiếu
Bài 3: Các cấu trúc điều khiển

CẤU TRÚC RẼ NHÁNH IF

Trần Doãn Hiếu


CẤU TRÚC IF
• Cú pháp:
Bài 3: Các cấu trúc điều khiển

… những bước chập chững vào thế giới Khoa học dữ liệu … Trần Doãn Hiếu
CÂU LỆNH IF

True
x = = 5?
Bài 3: Các cấu trúc điều khiển

False print(‘Is 5’)

print(‘Still 5’)

print(‘Third 5’)

(Ví dụ 3-Chương 3)
… những bước chập chững vào thế giới Khoa học dữ liệu … Trần Doãn Hiếu
CẤU TRÚC IF
Bài 3: Các cấu trúc điều khiển

(Ví dụ 2-Chương 3)
… những bước chập chững vào thế giới Khoa học dữ liệu … Trần Doãn Hiếu
CẤU TRÚC IF LỒNG

x=5
Bài 3: Các cấu trúc điều khiển

Đúng
x < 10?
Sai print(‘Smaller’)

Đúng
x > 20?
Sai print(‘Bigger’)

print(‘Finish’)
(Ví dụ 1-Chương 3)
… những bước chập chững vào thế giới Khoa học dữ liệu … Trần Doãn Hiếu
CANH LỀ
• Canh lề (thụt vào) sau câu lệnh if hoặc lệnh for
– Xác định khối lệnh đi kèm với câu lệnh liền trước nó
Bài 3: Các cấu trúc điều khiển

– Các câu lệnh cùng khối thụt lề cùng mức và liên tục

• Trong khối lệnh xác định bởi canh lề không bao


gồm dòng trống hoặc dòng chú thích

… những bước chập chững vào thế giới Khoa học dữ liệu … Trần Doãn Hiếu
CANH LỀ
Bài 3: Các cấu trúc điều khiển

(Ví dụ 4-Chương 3)
… những bước chập chững vào thế giới Khoa học dữ liệu … Trần Doãn Hiếu
BẮT ĐẦU / KẾT THÚC KHỐI LỆNH
Bài 3: Các cấu trúc điều khiển

… những bước chập chững vào thế giới Khoa học dữ liệu … Trần Doãn Hiếu
CẤU TRÚC IF…ELSE
• Cú pháp:
Bài 3: Các cấu trúc điều khiển

… những bước chập chững vào thế giới Khoa học dữ liệu … Trần Doãn Hiếu
CẤU TRÚC IF…ELSE
x=4
Bài 3: Các cấu trúc điều khiển

x>2?

print(‘Not bigger’) print(‘Bigger’)

print(‘All done’)

… những bước chập chững vào thế giới Khoa học dữ liệu … Trần Doãn Hiếu
CẤU TRÚC IF…ELSE
Bài 3: Các cấu trúc điều khiển

… những bước chập chững vào thế giới Khoa học dữ liệu … Trần Doãn Hiếu
MỘT SỐ DẠNG CẤU TRÚC IF..ELIF

LƯU ĐỒ KHỐI CỦA


Bài 3: Các cấu trúc điều khiển

CHƯƠNG TRÌNH NÀY


LÀ GÌ?

(Ví dụ 7-Chương 3)
… những bước chập chững vào thế giới Khoa học dữ liệu … Trần Doãn Hiếu
CẤU TRÚC IF..ELIF
Bài 3: Các cấu trúc điều khiển

… những bước chập chững vào thế giới Khoa học dữ liệu … Trần Doãn Hiếu
ĐIỀU GÌ XẢY RA VỚI ĐOẠN CODE SAU?
Bài 3: Các cấu trúc điều khiển

Chương trình chạy vào báo lỗi sau đây:

(Ví dụ 8-Chương 3)
… những bước chập chững vào thế giới Khoa học dữ liệu … Trần Doãn Hiếu
ĐIỀU GÌ XẢY RA VỚI ĐOẠN CODE SAU?

Dừng lại ở đây


Bài 3: Các cấu trúc điều khiển

Chương trình chạy vào báo lỗi sau đây:

… những bước chập chững vào thế giới Khoa học dữ liệu … Trần Doãn Hiếu
ĐIỀU GÌ XẢY RA VỚI ĐOẠN CODE SAU?

Lệnh chuyển đổi đầu tiên thất bại,


nhánh except được gọi, istr = -1
Bài 3: Các cấu trúc điều khiển

Lệnh chuyển đổi thứ hai thành


công, bỏ qua nhánh except

(Ví dụ 9-Chương 3)
… những bước chập chững vào thế giới Khoa học dữ liệu … Trần Doãn Hiếu
CẤU TRÚC TRY / EXCEPT
• Xử lý lỗi khi chạy chương trình bằng cấu trúc try /
except
Bài 3: Các cấu trúc điều khiển

– Nếu các lệnh trong nhánh try hoạt động tốt (không xảy
ra lỗi), chương trình bỏ qua nhánh except.
– Ngược lại (một lệnh nào đó trong nhánh try bị lỗi),
chương trình chuyển đến nhánh except và thực hiện
các câu lệnh trong nhánh.

… những bước chập chững vào thế giới Khoa học dữ liệu … Trần Doãn Hiếu
CẤU TRÚC TRY / EXCEPT
Bài 3: Các cấu trúc điều khiển

(Ví dụ 10-Chương 3)
… những bước chập chững vào thế giới Khoa học dữ liệu … Trần Doãn Hiếu
BÀI TẬP THỰC HÀNH
• Viết chương trình nhập số giờ làm mỗi tuần, thù lao
trên mỗi giờ làm tiêu chuẩn và tính số tiền thực
lãnh của nhân viên. Biết rằng: số giờ tiêu chuẩn
Bài 3: Các cấu trúc điều khiển

mỗi tuần là 40 giờ, và mỗi giờ vượt chuẩn được trả


gấp rưỡi so với giờ làm chuẩn. Enter Hours: 45
Enter Rate: 10

Pay: 475.0

Trong đó: 475 = 40*10+5*15


• Sửa lại bài Luyện tập (1), sử dụng try/except để xử
lý trường hợp lỗi nhập liệu Enter Hours: 20
Enter Rate: nine
Error, please enter numeric input

Enter Hours: forty


Error, please enter numeric input

… những bước chập chững vào thế giới Khoa học dữ liệu … Trần Doãn Hiếu
Bài 3: Các cấu trúc điều khiển

CẤU TRÚC LẶP

Trần Doãn Hiếu


VÒNG LẶP WHILE
• Cú pháp:
Bài 3: Các cấu trúc điều khiển

• Vòng while thực hiện lặp lại khối lệnh (block) chừng
nào biểu thức điều kiện (Condition) còn đúng

… những bước chập chững vào thế giới Khoa học dữ liệu … Trần Doãn Hiếu
VÒNG LẶP WHILE
n = 5, i=1,s=0

False True
i <= n?
Bài 3: Các cấu trúc điều khiển

s=s+i

i = i+1

print(‘Tổng là”,s)

… những bước chập chững vào thế giới Khoa học dữ liệu … Trần Doãn Hiếu
ĐIỀU GÌ XẢY RA VỚI ĐOẠN CODE SAU?
n=5

False True
n>0?
Bài 3: Các cấu trúc điều khiển

print(n)

n=n-1

print(‘All done’)

Vòng lặp thường có (các) biến lặp với giá


trị thay đổi sau mỗi lần lặp. Một trong biến
lặp thông dụng là biến đếm (đếm số lần lặp).
(Ví dụ 11-Chương 3)
… những bước chập chững vào thế giới Khoa học dữ liệu … Trần Doãn Hiếu
ĐIỀU GÌ XẢY RA VỚI ĐOẠN CODE SAU?
n=5

No Yes
n>0?
Bài 3: Các cấu trúc điều khiển

print(n)

n=n-1

print(‘All done’)

Vòng lặp với biến đếm số lần lặp (n=5), còn


gọi là vòng lặp có số lần lặp xác định.
(Ví dụ 11-Chương 3)
… những bước chập chững vào thế giới Khoa học dữ liệu … Trần Doãn Hiếu
ĐIỀU GÌ XẢY RA VỚI ĐOẠN CODE SAU?
n=5

False True
n>0?
Bài 3: Các cấu trúc điều khiển

print(‘Lather’)

print(‘Rinse’)

print(‘All done’)

Vòng lặp vô tận hay vòng lặp không dừng

(Ví dụ 12-Chương 3)
… những bước chập chững vào thế giới Khoa học dữ liệu … Trần Doãn Hiếu
ĐIỀU GÌ XẢY RA VỚI ĐOẠN CODE SAU?
n=0

False True
n>0?
Bài 3: Các cấu trúc điều khiển

print(‘Lather’)

print(‘Rinse’)

print(‘All done’)

Vòng lặp không thực hiện

(Ví dụ 13-Chương 3)
… những bước chập chững vào thế giới Khoa học dữ liệu … Trần Doãn Hiếu
ĐIỀU GÌ XẢY RA VỚI ĐOẠN CODE SAU?
Bài 3: Các cấu trúc điều khiển

Điều kiện lặp / dừng

Vòng lặp không có biến đếm số lần lặp, không xác định số lần lặp.
Câu lệnh break giúp thoát khỏi cấu trúc lặp while; lệnh này chỉ được thực hiện
khi điều kiện trong câu lệnh if thỏa mãn.

Q Lưu đồ khối của đoạn mã trên là gì?


(Ví dụ 14-Chương 3)
… những bước chập chững vào thế giới Khoa học dữ liệu … Trần Doãn Hiếu
ĐIỀU GÌ XẢY RA VỚI ĐOẠN CODE SAU?
Bài 3: Các cấu trúc điều khiển

Kết thúc lần lặp hiện hành, chuyển sang lần lặp tiếp theo

Vòng lặp không có biến đếm số lần lặp, không xác định số lần lặp.
Câu lệnh continue giúp kết thúc khối lệnh lặp hiện hành để chuyển sang lần lặp
tiếp theo; lệnh này chỉ được thực hiện khi điều kiện trong câu lệnh if thỏa mãn.

Q Lưu đồ khối của đoạn mã trên là gì?


(Ví dụ 15-Chương 3)
… những bước chập chững vào thế giới Khoa học dữ liệu … Trần Doãn Hiếu
ĐIỀU GÌ XẢY RA VỚI ĐOẠN CODE SAU?
Hành động lặp
Bài 3: Các cấu trúc điều khiển

Điều kiện dừng

(Ví dụ 15-Chương 3)
… những bước chập chững vào thế giới Khoa học dữ liệu … Trần Doãn Hiếu
VÒNG LẶP FOR
• Cú pháp:
Bài 3: Các cấu trúc điều khiển

• Vòng for cho phép sử dụng một lần lượt duyệt các
giá trị trong <danh – sách>

… những bước chập chững vào thế giới Khoa học dữ liệu … Trần Doãn Hiếu
VÒNG LẶP FOR

True False
Done?
Bài 3: Các cấu trúc điều khiển

Move i ahead

print(i)

print(‘All done’)
Cấu trúc lặp với các giá trị lặp được liệt kê trong dãy
hoặc tập hợp.

(Ví dụ 16-Chương 3)
… những bước chập chững vào thế giới Khoa học dữ liệu … Trần Doãn Hiếu
VÒNG LẶP FOR
Bài 3: Các cấu trúc điều khiển

Biến lặp (đếm) duyệt qua các giá trị trong dãy (có thứ tự)
Khối lệnh thực hiện một lần cho mỗi giá trị của biến lặp
Biến lặp di chuyển qua tất cả các giá trị trong dãy

… những bước chập chững vào thế giới Khoa học dữ liệu … Trần Doãn Hiếu
VÒNG LẶP FOR
Các hành động trước lặp, bao
gồm khởi tạo các giá trị cho biến
Bài 3: Các cấu trúc điều khiển

Khối lệnh chứa các


hành động được lặp Tra cứu kết quả sau khi kết thúc
với mỗi giá trị trong lặp
dãy liệt kê

(Ví dụ 17-Chương 3)
… những bước chập chững vào thế giới Khoa học dữ liệu … Trần Doãn Hiếu
Hàm Range
• Cú pháp: range(begin, end, step)
• Ví dụ:
Bài 3: Các cấu trúc điều khiển

… những bước chập chững vào thế giới Khoa học dữ liệu … Trần Doãn Hiếu
VÍ DU:
Bài 3: Các cấu trúc điều khiển

… những bước chập chững vào thế giới Khoa học dữ liệu … Trần Doãn Hiếu
VÍ DỤ: TÍNH TỔNG S= 1+2+..+N
• ````
Bài 3: Các cấu trúc điều khiển

… những bước chập chững vào thế giới Khoa học dữ liệu … Trần Doãn Hiếu
VÍ DỤ: TÌM GIÁ TRỊ LỚN NHẤT TRONG DÃY
Bài 3: Các cấu trúc điều khiển

(Ví dụ 18-Chương 3)
… những bước chập chững vào thế giới Khoa học dữ liệu … Trần Doãn Hiếu
VÍ DỤ: ĐẾM SỐ PHẦN TỬ TRONG DÃY
Bài 3: Các cấu trúc điều khiển

(Ví dụ 19-Chương 3)
… những bước chập chững vào thế giới Khoa học dữ liệu … Trần Doãn Hiếu
VÍ DỤ: TÍNH TỔNG CÁC PHẦN TỬ TRONG DÃY
Bài 3: Các cấu trúc điều khiển

(Ví dụ 20-Chương 3)
… những bước chập chững vào thế giới Khoa học dữ liệu … Trần Doãn Hiếu
VÍ DỤ: TRUNG BÌNH CÁC PHẦN TỬ TRONG DÃY
Bài 3: Các cấu trúc điều khiển

(Ví dụ 21-Chương 3)
… những bước chập chững vào thế giới Khoa học dữ liệu … Trần Doãn Hiếu
VÍ DỤ: LỌC CÁC PHẦN TỬ TRONG DÃY
Bài 3: Các cấu trúc điều khiển

(Ví dụ 22-Chương 3)
… những bước chập chững vào thế giới Khoa học dữ liệu … Trần Doãn Hiếu
VÍ DỤ: TÌM GIÁ TRỊ NHỎ NHẤT TRONG DÃY
Bài 3: Các cấu trúc điều khiển

(Ví dụ 23-Chương 3)
… những bước chập chững vào thế giới Khoa học dữ liệu … Trần Doãn Hiếu
BÀI TẬP THỰC HÀNH
• Viết chương trình nhập 10 nguyên số từ bàn phím
và xuất ra màn hình số có giá trị lớn nhất.
Bài 3: Các cấu trúc điều khiển

• Viết chương trình nhập 2 số nguyên X, Y từ bàn


phím và cho biết có bao nhiêu số chẵn nằm giữa
hai số này.

… những bước chập chững vào thế giới Khoa học dữ liệu … Trần Doãn Hiếu

You might also like