Bài giảng Lập trình Python: Bài 3 Vòng lặp trong python cung cấp cho người học những kiến thức như: Vòng lặp while; Vòng lặp for; Lặp “for” duyệt một danh sách; Lặp for duyệt một miền số nguyên; Bài tập. Mời các bạn cùng tham khảo để nắm chi tiết nội dung của bài giảng!
LẬP TRÌNH PYTHON Bài 3: vịng lặp python Tóm tắt nội dung trước ▪ Định nghĩa viết hàm python đơn giản: dùng từ khóa def, cần đặt tên liệt kê danh sách tham số ▪ ▪ ▪ ▪ Không hạn chế kiểu liệu trả từ hàm Cho phép tham số mặc định Hạn chế việc nạp chồng hàm Có chế cho phép số tham số không hạn chế ▪ Phép tốn if phép tốn ngơi, dạng lệnh lựa chọn ngắn gọn, đơn giản ▪ Tiện lệnh if chỗ phép tốn tham gia vào biểu thức ▪ Python dùng lệnh lựa chọn if-elif-else ▪ Lệnh lựa chọn nhất, dùng cho trường hợp chọn hai nhánh chọn nhiều nhánh TRƯƠNG XUÂN NAM Nội dung Vòng lặp “while” Vòng lặp “for” ▪ Lặp “for” duyệt danh sách ▪ Lặp “for” duyệt miền số nguyên Bài tập TRƯƠNG XUÂN NAM Phần Vòng lặp “while” TRƯƠNG XUÂN NAM Vòng lặp while ▪ Vòng while thực lặp lại khối lệnh chừng biểu thức điều kiện ▪ Phát biểu continue khối lệnh ngắt khối lệnh bắt đầu vòng lặp ▪ Phát biểu break kết thực vòng lặp ▪ Khối else thực sau tồn vịng lặp chạy xong, khơng bắt buộc phải có khối ▪ Khối khơng chạy vịng lặp bị “break” TRƯƠNG XUÂN NAM Vòng lặp while đơn giản # có 10 triệu đồng, gửi ngân hàng với lãi suất 5,1% hàng năm # tính xem sau năm bạn có 50 triệu # cách giải sử dụng vòng lặp so_tien = 1e7 lai_suat = 5.1/100 so_nam = # chừng số tiền chưa đủ 50 triệu gửi thêm năm while so_tien < 5e7: so_nam += so_tien = so_tien * (1 + lai_suat) print("Số tiền sau", so_nam, "năm:", so_tien) # in kết print("Sau", so_nam, "bạn có 50 triệu.") TRƯƠNG XUÂN NAM Vòng lặp while kết hợp điều kiện if # In số tự nhiên chia hết cho nhỏ 1000 n = while n < 1000: if (n % 7) == 0: print(n) n += # Tính tổng số nhỏ 1000 không chia hết cho t = n = while n < 1000: if (n % 3) != 0: t = t + n n += print(t) TRƯƠNG XUÂN NAM Vòng lặp while với break # tập buổi trước: kiểm tra xem số dương N có phải số # fibonacci hay không? n = int(input("Nhập số dương N: ")) a, b = 0, # kiểu gán python: a = 0, b = while b != n: if b > n: # b vượt n dừng break a, b = b, a + b # a = b, b = a + b print('Fibonacci' if b == n else 'Non-fibonacci') TRƯƠNG XUÂN NAM Vòng lặp while với continue # tính tổng số fibonacci chia hết cho nhỏ N n = int(input("Nhập số dương N: ")) tong, a, b = 0, 0, while b < n: a, b = b, a + b if != a % 3: # bỏ qua không chia hết cho continue tong += a print('Tổng là:', tong) TRƯƠNG XUÂN NAM Vòng lặp while sử dụng else # nhập số n kiểm tra xem có phải số ngun tố hay khơng # ý: không sử dụng else, ta phải khai báo thêm # biến phụ chương trình dài vài dòng n = int(input("Nhập số N: ")) x = while x < n: if (n % x) == 0: print("N số nguyên tố") break; x = x + else: print("N số nguyên tố") TRƯƠNG XUÂN NAM 10 Phần Vòng lặp “for” TRƯƠNG XUÂN NAM 11 Vòng lặp for duyệt danh sách ▪ Cú pháp: for in : # khối for else # khối else ▪ Vòng for cho phép sử dụng duyệt giá trị ▪ Tương tự while, sử dụng break continue ▪ Khối else thực sau tồn vịng lặp chạy xong ▪ Khối khơng chạy vịng lặp bị “break” ▪ Khơng bắt buộc phải có khối ▪ Cách làm việc tương tự vòng lặp while TRƯƠNG XUÂN NAM 12 Vòng lặp for duyệt danh sách X = ['chó', 'mèo', 'lợn', 'gà'] # In lồi vật danh sách for w in X: print(w) # In loại vật, ngoại từ loài ‘mèo’ for x in X: if x == 'mèo': continue print(x) # In loại vật, gặp lồi ‘mèo’ dừng for z in X: if z == 'mèo': break print(z) TRƯƠNG XUÂN NAM 13 Vòng lặp for duyệt miền số nguyên ▪ Cú pháp vòng for phù hợp với việc duyệt tập hợp phần tử ▪ Vì ta phải liệt kê phần tử tập ▪ Nhưng muốn duyệt tập nhiều phần tử sao? ▪ Chẳng hạn muốn duyệt số nguyên từ đến 1.000.000? ▪ Python cung cấp hàm range để tạo dãy số: ▪ Hàm range(n): tạo dãy số nguyên từ đến n-1 ▪ Hàm range(n, m): tạo dãy số nguyên từ n đến m-1 ▪ Hàm range(n, m, k): tạo dãy số nguyên từ n đến trước m với bước nhảy k (một lần giá trị tăng k đơn vị) • Chú ý: giá trị k âm, trường hợp dãy số sinh giảm dần TRƯƠNG XUÂN NAM 14 Vòng lặp for duyệt miền số nguyên # Trường hợp khoảng số lớn, liệt kê # Ta sử dụng hàm range để tạo khoảng số # In số từ 10 đến 19: khoảng 10 đến 20, bước nhảy for d in range(10, 20): print(d) # In số từ 20 đến 11: khoảng 20 đến 10, bước nhảy -1 for d in range(20, 10, -1): print(d) # In số lẻ từ đến 100: khoảng đến 100, bước nhảy for d in range(1, 101, 2): print(d) TRƯƠNG XUÂN NAM 15 Phần Bài tập TRƯƠNG XUÂN NAM 16 Bài tập TRƯƠNG XUÂN NAM 17 Bài tập 𝑓𝑖𝑏𝑜 ≤ 𝑛 < 𝑘, 𝑘 = 𝑛 𝑓𝑖𝑏𝑜 𝑛 ≥ 𝑘, 𝑘 = 𝑓𝑖𝑏𝑜(𝑛 − 𝑖, 𝑘) 𝑖=𝑘 TRƯƠNG XUÂN NAM 18 ... nhảy -1 for d in range(20, 10, -1 ): print(d) # In số lẻ từ đến 100: khoảng đến 100, bước nhảy for d in range(1, 101, 2): print(d) TRƯƠNG XUÂN NAM 15 Phần Bài tập TRƯƠNG XUÂN NAM 16 Bài tập TRƯƠNG... “for” ▪ Lặp “for” duyệt danh sách ▪ Lặp “for” duyệt miền số nguyên Bài tập TRƯƠNG XUÂN NAM Phần Vòng lặp “while” TRƯƠNG XUÂN NAM Vòng lặp while ▪ Vòng while thực lặp lại khối lệnh chừng biểu thức... NAM 15 Phần Bài tập TRƯƠNG XUÂN NAM 16 Bài tập TRƯƠNG XUÂN NAM 17 Bài tập