Giáo trình Python - Bài 4: Câu lệnh lặp (Loops)
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Python - Bài 4: Câu lệnh lặp (Loops)", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
giao_trinh_python_bai_4_cau_lenh_lap_loops.pdf
Nội dung text: Giáo trình Python - Bài 4: Câu lệnh lặp (Loops)
- BÀI 4: CÂU LỆNH LẶP (LOOPS) KHOA CÔNG NGHỆ THÔNG TIN, ĐH SƯ PHẠM HÀ NỘI HÀ NỘI, THÁNG 9/2020
- NỘI DUNG CHÍNH § Câu lệnh while § Câu lệnh for § Lệnh break và continue
- LỆNH LẶP KHÔNG XÁC ĐỊNH while while : § Đây là vòng lặp không xác định với điều kiện trước § C: Là điều kiện lặp (biểu thức logic), có thể có dấu () bao quanh C hoặc không § S: Một lệnh hoặc nhiều lệnh; § Lưu ý: • Luôn có dấu hai chấm ‘:’ sau biểu thức điều kiện để kết thúc dòng • Khối lệnh S phải được thụt lề so với từ khóa while • Các câu lệnh trong S phải có thụt lề bằng nhau
- LỆNH LẶP KHÔNG XÁC ĐỊNH while while : § Chương trình sẽ thực hiện lặp đi lặp lại lệnh S chừng nào điều kiện C vẫn đúng § Nếu C sai ngay từ đầu, lệnh S sẽ không được thực hiện (điều kiện lặp C được kiểm tra trước mỗi lượt lặp) § Số lần lặp phụ thuộc vào giá trị của biểu thức logic C § Chú ý: § Trong S cần có ít nhất một lệnh làm thay đổi giá trị của C, nếu không sẽ lặp vô hạn.
- LỆNH LẶP KHÔNG XÁC ĐỊNH while Kết quả n = 5 Chương trình: No Yes 5 n > 0 ? n = 5 4 while n > 0 : 3 print(n) print(n) n = n – 1 2 n = n -1 print('Blastoff!') 1 print(n) Blastoff! 0 print('Blastoff') Vòng lặp có các biến lặp để điều khiển số lần lặp. Giá trị của biến này thay đổi qua mỗi lần lặp. Các biến lặp thường có giá trị nằm trong một tập giá trị số
- LỆNH LẶP KHÔNG XÁC ĐỊNH while n = 5 No Yes n = 5 n > 0 ? while n > 0 : print('Lather') print('Lather') print('Rinse') print('Dry off!') print('Rinse') print('Dry off!') Vòng lặp này có vấn đề gì?
- LỆNH LẶP KHÔNG XÁC ĐỊNH while n = 0 No Yes n = 0 n > 0 ? while n > 0 : print(‘') print('Lather') print('Rinse') print('Dry off!') print('Rinse') print('Dry off!') Vòng lặp thực hiện gì?
- VÍ DỤ 4.1 Cho một số nguyên N, tính tổng các chữ số trong biểu diễn thập phân của N? Ý tưởng: • Tách dần từng chữ số của N, từ chữ số hàng đơn vị trở đi. • Để tách được chữ số hàng đơn vị sử dụng phép toán chia lấy dư cho 10 (N%10) • Để giảm N đi 1 chữ số, sử dụng phép chia lấy nguyên cho 10 (N/10). • Quá trình trên lặp lại cho đến khi N = 0. • Sử dụng 1 biến để cộng tổng các chữ số lại sẽ là kết quả.
- VÍ DỤ 4.1 (vd4.1.py) Mở rộng cho bài toán: Tính số nút của biển số xe
- Lệnh lặp xác định • Chúng ta thường có một tập hữu hạn dữ liệu đã biết trước, ví dụ các dòng trong 1 file dữ liệu, một tập số nguyên, danh sách sinh viên Cần lệnh để duyệt qua tất cả các thành phần trong các tập hợp này. • Lệnh lặp thực hiện với số lần xác định trước gọi là lệnh lặp xác định • Lệnh lặp xác định sẽ thực hiện lặp qua từng thành phần của tập hợp
- LỆNH LẶP XÁC ĐỊNH for for in § for là vòng lặp với số lần lặp xác định § : vùng giá trị xác định số lần lặp, số lần lặp bằng số giá trị của § : biến điều khiển số lần lặp, nhận từng giá trị trong § là tập câu lệnh được thực hiện trong mỗi lần lặp
- LỆNH LẶP for Biến lặp 5 4 3 for i in [5, 4, 3, 2, 1] : 2 print(i) 1 print(‘Het!') Vùng lặp Het! Happy New Year: An friends = [‘An', ‘Mai', ‘Anny'] Happy New Year: Mai for friend in friends : Happy New Year: Anny print('Happy New Year:', friend) print('Done!') Done!
- LỆNH LẶP for No Yes Ket Di chuyen i thuc? 5 for i in [5, 4, 3, 2, 1] : 4 print(i) 3 print(i) print(‘Het!') 2 1 Blastoff! print(‘Het!')
- LỆNH LẶP for i = 5 No print(i) Yes Ket Di chuyen i thuc? i = 4 print(i) print(i) i = 3 print(i) i = 2 print(i) print(‘Het!') for i in [5, 4, 3, 2, 1] : print(i) i = 1 print(‘Het!') print(i)
- VÍ DỤ 4-2 Viết chương trình in ra các bảng cửu chương từ 1 đến 9. Chẳng hạn như:
- VÍ DỤ 4-2 (vd4-2.cpp) Các số nguyên từ 0-9 range(start, stop, step) Dùng range để xác định các số start: giá trị đầu stop: giá trị cuối chẵn trong khoảng từ 1 đến step: bước nhảy 10??? Rang(10) = range(0,10,1) : ko lấy giá trị cuối
- LỆNH break VÀ continue § Lệnh break; § Khi break được thực hiện trong một vòng lặp, vòng lặp đó sẽ ngưng ngay § Bản chất: thoát khỏi vòng lặp, nhảy tới câu lệnh sau vòng lặp § Lệnh continue; § Khi continue được thực hiện trong một vòng lặp, toàn bộ lệnh phía sau continue trong thân vòng sẽ bị bỏ qua, nhảy đến vị trí kiểm tra điều kiện lặp § Bản chất: nhảy tới vị trí kiểm tra điều kiện lặp
- Lệnh break while True: hello there line = input('> ') > if line == 'done' : hello there break > finished print(line) finished print('Done!') > done Done!
- Lệnh break while True: No Yes True ? line = input('> ') if line == 'done' : .... break print(line) print('Done!') break ... print('Done')
- Lệnh continue while True: > hello there line = input('> ') hello there if line[0] == '#' : > # don't print this continue > print this! if line == 'done' : print this! break > done print(line) Done! print('Done!')



