1 | 10 KHÓA PYTHON CƠ BẢN HOWKTEAM.COM Bài 25: VÒNG LẶP WHILE TRONG PYTHON Xem học website để ủng hộ Kteam: Vòng lặp While Python Mọi vấn đề lỗi website làm ảnh hưởng đến bạn thắc mắc, mong muốn khóa học mới, nhằm hỗ trợ cải thiện Website Các bạn vui lòng phản hồi đến Fanpage How Kteam nhé! Dẫn nhập Trong trước, Kteam giới thiệu đến bạn CÂU ĐIỀU KIỆN IF - dạng cấu trúc rẽ nhánh quan trọng ngơn ngữ lập trình khơng riêng Python Ở Kteam giới thiệu với bạn Vòng lặp While Python Nội dung Để đọc hiểu tốt bạn cần: Cài đặt sẵn MÔI TRƯỜNG PHÁT TRIỂN CỦA PYTHON Xem qua CÁCH CHẠY CHƯƠNG TRÌNH PYTHON Nắm CÁCH GHI CHÚ BIẾN TRONG PYTHON CÁC KIỂU DỮ LIỆU ĐƯỢC GIỚI THIỆU TRONG PYTHON CÂU ĐIỀU KIỆN IF TRONG PYTHON Bạn Kteam tìm hiểu nội dung sau Đặt vấn đề Cấu trúc vòng lặp while cách hoạt động Sử dụng vịng lặp để xử lí chuỗi, list, tuple Copyright © Howkteam.com | 10 KHÓA PYTHON CƠ BẢN HOWKTEAM.COM Câu lệnh break continue Cấu trúc vòng lặp while-else cách hoạt động Đặt vấn đề Lại câu chuyện Tèo – Kter “bờ rào” Kteam Sắp tới sinh nhật Tèo, Tèo tham vọng mời tất thành viên group lập trình Kteam Thế nên, Tèo mua xấp giấy ghi thiệp mời bạn tham dự buổi tiệc Một bạn, hai bạn, ba bạn tới bạn thứ năm Tèo thấm mệt Dịng chữ khơng nắn nót ban đầu Nhớ lại cịn 9999 người cần phải mời Nên Tèo mệt quá, không muốn mời ăn sinh nhật Nếu bạn Tèo, bạn viết thiệp với dịng chữ nắn nót đẹp thiệp ban đầu? Liệu bạn có đủ kiên nhẫn viết hết 1000 thiệp chí 100000? Hiển nhiên “Không!” Mà trường hợp Tèo chả phải Vì vậy, người tạo máy tính để giúp họ làm việc tương tự Máy tính có khả lặp lặp lại tiến trình với số lần lớn Hiệu suất lần cuối lần Thêm điều cơng việc làm với tốc độ chóng mặt Làm chúng làm vậy? Đó nhờ tuyệt kĩ vịng lặp Và bắt đầu tìm hiểu chiêu thức vịng lặp Python While Cấu trúc vịng lặp while cách hoạt động Nào! Cùng ngó sơ cấu trúc, sau Kteam giải thích cho bạn cách mà hoạt động Copyright © Howkteam.com | 10 KHÓA PYTHON CƠ BẢN HOWKTEAM.COM while expression: # while-block Lưu ý: Việc chia block giống bạn sử dụng câu lệnh if Kteam giới thiệu trước CẤU TRÚC RẼ NHÁNH Nó hoạt động sao? Rất đơn giản! Việc đầu tiên, Python kiểm tra giá trị boolean expression Nếu False, bỏ qua while-block đến với câu lệnh Ngược lại, thực toàn câu lệnh while-block Sau thực xong, quay ngược lại kiểm tra giá trị boolean expression lần Nếu False bỏ qua while-block, cịn True tiếp tục thực while-block Và sau thực xong while-block lại quay kiểm tra giá trị boolean expression lần trước Ví dụ: >>> k = >>> >>> while k > 0: print('k =', k) k -= k=5 k=4 k=3 k=2 k=1 >>> k # k nên > boolean False, vịng lặp kết thúc Copyright © Howkteam.com | 10 KHÓA PYTHON CƠ BẢN HOWKTEAM.COM Sử dụng vịng lặp để xử lí chuỗi, list, tuple Đây iterable cho phép ta truy xuất giá trị bất kí phương pháp indexing Thế nên, ta nhờ điều kết hợp với vịng lặp để xử lí chúng >>> s = 'How Kteam' >>> idx = # vị trí bắt đầu bạn muốn xử lí chuỗi >>> length = len(s) # lấy độ dài chuỗi làm mốc kết thúc >>> >>> while idx < length: print(idx, 'stands for', s[idx]) idx += # di chuyển index tới vị trí stands for H stands for o stands for w stands for stands for K stands for t stands for e stands for a stands for m Đơn giản phải khơng List Tuple hồn tồn tương tự Câu lệnh break continue Lưu ý: Hai câu lệnh dùng vịng lặp Copyright © Howkteam.com KHÓA PYTHON CƠ BẢN HOWKTEAM.COM | 10 Câu lệnh break Câu lệnh break dùng để kết thúc vịng lặp Cứ nằm block vịng lặp vịng lặp kết thúc chạy câu lệnh Trong trường hợp vòng lặp a chứa vòng lặp b Trong vòng lặp b chạy câu lệnh break vịng lặp b kết thúc, cịn vịng lặp a khơng Ví dụ *: >>> five_even_numbers = [] >>> k_number = >>> >>> while True: # vịng lặp vơ hạn giá trị nên ta tác động if k_number % == 0: # k_number số chẵn five_even_numbers.append(k_number) # thêm giá trị k_number vào list if len(five_even_numbers) == 5: # list đủ phần tử break # kết thúc vòng lặp k_number += >>> five_even_numbers [2, 4, 6, 8, 10] >>> k_number 10 Câu lệnh continue Câu lệnh dùng để chạy tiếp vòng lặp Giả sử vịng lặp có cấu trúc sau: while expression: #while-block-1 continue Copyright © Howkteam.com KHĨA PYTHON CƠ BẢN HOWKTEAM.COM | 10 #while-block-2 Khi thực xong while-block-1, câu lệnh continue tiếp tục vịng lặp, khơng quan tâm câu lệnh continue bỏ qua while-block-2 Ví dụ: >>> k_number = >>> while k_number < 10: if k_number % == 0: # k_number số chẵn k_number += # tăng đơn vị cho k_number tiếp tục vòng lặp continue print(k_number, 'is odd number') k_number += is odd number is odd number is odd number is odd number is odd number Cấu trúc vòng lặp while-else cách hoạt động Ta xem cấu trúc trước: while expression: # while-block else: Copyright © Howkteam.com KHÓA PYTHON CƠ BẢN HOWKTEAM.COM | 10 # else-block Cấu trúc gần tương tự while bình thường Thêm điều, vòng vòng lặp while kết thúc khối lệnh else-block thực Ví dụ: >>> while k < 3: print('value of k is', k) k += else: print('k is not less than anymore') value of k is value of k is value of k is k is not less than anymore Trong trường hợp while-block chạy câu lệnh break vịng lặp while kết thúc phần else-block không thực >>> k = >>> while k < 5: print('value of k is', k) k += if k > 3: print('k is greater than 3') break else: print('k is not less than anymore') value of k is value of k is value of k is value of k is k is greater than Copyright © Howkteam.com KHĨA PYTHON CƠ BẢN HOWKTEAM.COM | 10 Củng cố học Đáp án trước Bạn tìm thấy câu hỏi phần CÂU HỎI CỦNG CỐ CẤU TRÚC RẼ NHÁNH TRONG PYTHON Cách 1: k1 = int(input('Nhap so thu nhat\n=> ')) k2 = int(input('Nhap so thu hai\n=> ')) k3 = int(input('Nhap so thu ba\n=> ')) if k1 > k2 and k1 > k3: print('so lon nhat la', k1) elif k2 > k1 and k2 > k3: print('so lon nhat la', k2) else: print('so lon nhat la', k3) Cách 2: k1 = int(input('Nhap so thu nhat\n=> ')) k2 = int(input('Nhap so thu hai\n=> ')) k3 = int(input('Nhap so thu ba\n=> ')) if k1 > k2 and k1 > k3: print('so lon nhat la', k1) elif k2 > k1 and k2 > k3: print('so lon nhat la', k2) else: print('so lon nhat la', k3) Copyright © Howkteam.com | 10 KHÓA PYTHON CƠ BẢN HOWKTEAM.COM Câu hỏi củng cố Viết lại vịng lặp có chức tương tự ví dụ * khơng dùng câu lệnh break Cho file text tên draft.txt sau: an so dfn Kteam odsa in fasfna Kteam mlfjier as dfasod nf ofn asdfer fsan dfoans ldnfad Kteam asdfna asdofn sdf pzcvqp Kteam dfaojf kteam dfna Kteam dfaodf afdna Kteam adfoasdf ncxvo aern Kteam dfad Trong file có số chữ Kteam (Kteam khơng xuất đầu dịng), trước chữ ngẫu nhiên nhiệm vụ bạn đổi chữ thành How Nhớ sử dụng vòng lặp Sau đổi thành cơng, bạn lưu nội dung vào file tên kteam.txt Đây mẫu kteam.txt: an so How Kteam odsa in How Kteam mlfjier as dfasod nf ofn asdfer fsan dfoans How Kteam asdfna asdofn sdf How Kteam dfaojf kteam How Kteam dfaodf How Kteam adfoasdf ncxvo How Kteam dfad Sắp xếp mảng số nguyên có dạng sau: [56, 14, 11, 756, 34, 90, 11, 11, 65, 0, 11, 35] Lưu ý: số 11 số cố định khơng thay đổi vị trí Sau xếp lại mảng là: [0, 14, 11, 34, 35, 56, 11, 11, 65, 90, 11, 756] Đáp án phần trình bày Tuy nhiên, Kteam khuyến khích bạn tự trả lời câu hỏi để củng cố kiến thức thực hành cách tốt nhất! Copyright © Howkteam.com 10 | 10 KHĨA PYTHON CƠ BẢN HOWKTEAM.COM Kết luận Qua viết này, Bạn biết VÒNG LẶP WHILE TRONG PYTHON Ở viết sau, Kteam nói đến vịng lặp VÒNG LẶP FOR TRONG PYTHON Cảm ơn bạn theo dõi viết Hãy để lại bình luận góp ý để phát triển viết tốt Đừng quên “Luyện tập – Thử thách – Không ngại khó” Copyright © Howkteam.com ... hợp vòng lặp a chứa vòng lặp b Trong vòng lặp b chạy câu lệnh break vịng lặp b kết thúc, cịn vịng lặp a khơng Ví dụ *: >>> five_even_numbers = [] >>> k_number = >>> >>> while True: # vòng lặp. .. PYTHON CƠ BẢN HOWKTEAM.COM Kết luận Qua viết này, Bạn biết VÒNG LẶP WHILE TRONG PYTHON Ở viết sau, Kteam nói đến vịng lặp VÒNG LẶP FOR TRONG PYTHON Cảm ơn bạn theo dõi viết Hãy để lại bình luận... trước: while expression: # while- block else: Copyright © Howkteam.com KHÓA PYTHON CƠ BẢN HOWKTEAM.COM | 10 # else-block Cấu trúc gần tương tự while bình thường Thêm điều, vòng vòng lặp while kết