Hoạt động: Vòng lặp for sẽ thực hiện việc lặp qua từng phần tử của và với mỗi phần tử tìm được thì các câu lệnh sẽ được thực thi... Giá trị start là tuỳ ý và nếu như không được sử dụ
Trang 1CÂU LỆNH LẶP FOR
(2 tiết)
Trang 2Xét các bài toán sau
Viết chương trình giải các bài toán sau
- In ra các số nguyên từ 1 đến 10
- In ra các số chẵn nhỏ hơn 20
- In ra các ước số của N
- Tính tổng S = 1 + 1/2 + 1/3 + …+ 1/N cho đến khi 1/N < 0.0001
Trang 3 Python cung cấp cho ta 2 loại vòng lặp sau:
Vòng lặp while (lặp theo điều kiện)
Vòng lặp for (lặp khi biết trước số lần lặp)
Trang 4- sequence là danh sách giá trị
- Statements là khối lệnh của for
Trang 5Hoạt động:
Vòng lặp for sẽ thực hiện việc lặp qua từng phần tử của <sequence> và với mỗi phần tử tìm
được thì các câu lệnh <statements> sẽ được thực thi
Trang 6Python thường dùng trong vòng lặp đó là range() để tạo ra sequence (danh sách giá trị) cho biến chạy
Hàm range(): tạo ra một list các giá trị số nguyên
Cú pháp
range([start], <stop>, [step])
Trang 7Trong đó:
• start: Giá trị bắt đầu Giá trị start là tuỳ ý và nếu như không được sử dụng trong hàm thì giá trị
mặc định của nó sẽ là 0
• stop: Giá trị dừng.
• step: Khoảng cách giữa hai phần tử liền kề trong list Giá trị step là tuỳ ý và nếu không được sử
dụng trong hàm thì giá trị mặc định của nó sẽ là 1
Trang 8Lưu ý:
• Nếu start < stop thì step là số nguyên dương, hàm range sẽ tạo ra danh sách các số nguyên lần
lượt bắt đầu từ start và nhỏ hơn stop, các số cách nhau một khoảng step
• Nếu start > stop thì step là số nguyên âm, hàm range sẽ tạo ra danh sách các số nguyên lần lượt
bắt đầu từ start và lớn hơn stop, các số cách nhau một khoảng step
Ví dụ:
range(1, 10, 2) => tạo ra các số 3, 5, 7, 9
range(10, 1, -3) => tạo ra các số 10, 7, 4
Trang 9Ví dụ:
list_1 = range(5)
print(list_1) # [0, 1, 2, 3, 4]
list_1 = range(2, 5) # [2, 3, 4] print(list_1)
list_3 = range(1, 10, 3) # [1, 4, 7] print(list_3)
Trang 10Ví dụ:
In ra các giá trị x chạy trong phạm vi từ 3 đến 7 (kq: x=3,4,5,6)
Vòng lặp for với range
Trang 11In các số chẵn từ 1 đến 100
Trang 14-• Bài 1: Tìm bội số chung nhỏ nhất của hai số nguyên dương
3 Bài tập áp dụng
Trang 15CÂU LỆNH LẶP WHILE
(1 tiết)
Trang 16- expression: là điều kiện
- while-block: là khối lệnh của while
Hoạt động:
Chừng nào expression mang giá trị True, thì thực hiện toàn bộ câu lệnh trong while-block
Ngược lại, bỏ qua while-block và thực hiện câu lệnh tiếp theo
Trang 17• Ví dụ:
In các giá trị 2, 5, 8 ra màn hình
In các số chẵn từ 1 đến 100
Trang 18• Cách 1:
Trang 19• Cách 2:
Trang 20• BÀI TẬP
Bài 1: Một loại virus có tốc độ phát triển rất nhanh, sau mỗi ngày số lượng sẽ tăng lên gấp đôi
Em hãy viết chương trình nhập vào số nguyên n là số lượng virus hiện có và xác định sau bao nhiêu ngày thì số lượng virus vượt số lượng một tỷ, đưa kết quả tính được ra màn hình
Trang 22• BÀI TẬP
Bài 2: Mẹ em dự định gửi tiết kiệm một khoản tiền tại một ngân hàng có lãi suất 7% một năm, nghĩa là sau mỗi năm tiền lãi nhận được là 7% số tiền gửi Hết một năm, nếu mẹ không rút tiền thì cả vốn lẫn lãi sẽ tự động được gửi tính cho năm tiếp theo Em dự định lập một chương trình nhập vào số tiền T (đơn vị triệu đồng) sau đó tính và đưa ra 10 dòng, mỗi dòng ghi số tiền sau mỗi năm trong 10 năm tới để mẹ em tham khảo
Trang 24• Phần còn lại (Tham khảo)
Trang 25• Sử dụng lệnh continue trong vòng lặp
trình sẽ bỏ qua các dòng lệnh trong khối phía dưới của continue và bắt đầu một vòng lặp mới
Trang 26• Ví dụ:
Trang 27• Sử dụng lệnh pass trong vòng lặp
• Trong Python, pass là một lệnh null (Không gì cả), khác biệt giữa một chú thích (comment)
và lệnh pass trong Python là bộ thông dịch (interpreter) sẽ bỏ qua toàn bộ chú thích, còn
Tuy vậy, không có gì xảy ra khi lệnh pass được thực thi.
• Lệnh pass trong vòng lặp chỉ đơn giản là một đánh dấu, để ta nhớ thêm mã (code) nào đó
trong tương lai
Trang 29• Sử dụng lệnh 'else' với vòng lặp
• Lệnh else có thể liên hợp với vòng lặp Lệnh else sẽ được thực thi nếu vòng lặp chạy và kết
thúc một cách bình thường, không bị ngắt bởi lệnh break.
Trang 30X=3,4,5,6 sẽ thực hiện 2 lệnh trước else
X=7 (ngoài phạm vi xét) thực hiện lệnh sau else sau đó thực hiện lệnh tiếp theo
Trang 31• Nếu vòng lặp bị ngừng bởi lệnh break, lệnh else liên hợp với vòng lặp sẽ
không được thực thi
X=3,4,5 sẽ thực hiện lệnh trước else và tại x=5 thì dừng lệnh lặp luôn sau đó thực hiện lệnh tiếp theo