Thực hành Python online
Bài này cung cấp cho bạn danh sách các dạng bài tập khác nhau để bạn thực hành khi học lập trình Python. Các code mẫu của bài tập Python có lời giải được viết trên Python 3. Show
Nội dung chính Các cấp độ bài tập PythonBài này cung cấp cho bạn danh sách các bài tập Python có lời giải ở các cấp độ khác nhau để bạn thực hành khi học ngôn ngữ lập trình C:
1. Bài tập Python kinh điển
Bài 01: Viết một chương trình Python in ra dãy số Fibonacci Gợi ý:
Code mẫu: In dãy số Fibonacci trong Python không sử dụng đệ quy. """ * Tính số fibonacci thứ n * * @param n: chỉ số của số fibonacci tính từ 0 * vd: F0 = 0, F1 = 1, F2 = 1, F3 = 2 * @return số fibonacci thứ n """ def fibonacci(n): f0 = 0; f1 = 1; fn = 1; if (n < 0): return -1; elif (n == 0 or n == 1): return n; else: for i in range(2, n): f0 = f1; f1 = fn; fn = f0 + f1; return fn; print("10 số đầu tiên của dãy số Fibonacci: "); sb = ""; for i in range(0, 10): sb = sb + str(fibonacci(i)) + ", "; print(sb) Kết quả: 10 so dau tien cua day so Fibonacci: 0 1 1 2 3 5 8 13 21 34 Bài 02: Viết một chương tình Python kiểm tra số nguyên tố. Code mẫu: """ * check so nguyen to trong Python * * @author viettuts.vn * @param n: so nguyen duong * @return 1 la so nguyen so, * 0 khong la so nguyen to """ Kết quả: Cac so nguyen to nho hon 100 la: 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 Bài 03: Viết một chương trình Python tính giai thừa của một số bằng cách không sử dụng đệ quy và có sử dụng đệ quy. Gợi ý:
Code mẫu: Tính giai thừa trong Python không sử dụng đệ quy. """ * tinh giai thua * * @author viettuts.vn * @param n: so nguyen duong * @return giai thua cua so n """ def tinhgiaithua(n): giai_thua = 1; if (n == 0 or n == 1): return giai_thua; else: for i in range(2, n + 1): giai_thua = giai_thua * i; return giai_thua; n = int(input("Nhập số nguyên dương n = ")); print("Giai thừa của", n, "là", tinhgiaithua(n)); Kết quả: Nhập số nguyên dương n = 10 Giai thừa của 10 là 3628800 Bài 04: Viết một chương trình Python để chuyển đổi số nguyên N sang hệ cơ số B (2 <= B <= 32) bất kỳ. Code mẫu: Chuyển đối hệ cơ số 10 sang hệ cơ số B """ # Chuyển đổi số nguyên n sang hệ cơ số b # # @author viettuts.vn # @param n: so nguyen # @param b: he co so # @return he co so b """ def convert_number(n, b): if (n < 0 or b < 2 or b > 16): return ""; sb = ""; m = 0; remainder = n; while (remainder > 0): if (b > 10): m = remainder % b; if (m >= 10): sb = sb + str(chr(55 + m)); else: sb = sb + str(m); else: sb = sb + str(remainder % b); remainder = int(remainder / b); return "".join(reversed(sb)); # đảo ngược chuỗi sb n = int(input("Nhập số nguyên dương n = ")); print("Hệ cơ số 2 của số nguyên ", n, "là:", convert_number(n, 2)) print("Hệ cơ số 16 của số nguyên ", n, "là:", convert_number(n, 16)) Kết quả: Nhập số nguyên dương n = 15 Hệ cơ số 2 của số nguyên 15 là: 1111 Hệ cơ số 16 của số nguyên 15 là: F 2. Bài tập Python cơ bảnDanh sách bài tập:
Bài 01: Viết chương trình tìm tất cả các số chia hết cho 7 nhưng không phải bội số của 5, nằm trong đoạn 10 và 200 (tính cả 10 và 200). Các số thu được sẽ được in thành chuỗi trên một dòng, cách nhau bằng dấu phẩy. Gợi ý:
Code mẫu: arr = [] for i in range(10, 201): if (i % 7 == 0) and (i % 5 != 0): arr.append(str(i)) print (', '.join(arr)) Kết quả: 14, 21, 28, 42, 49, 56, 63, 77, 84, 91, 98, 112, 119, 126, 133, 147, 154, 161, 168, 182, 189, 196 Bài 02: Viết một chương trình tính giai thừa của một số nguyên dương n. Với n được nhập từ bàn phím. Ví dụ, n = 8 thì kết quả đầu ra phải là 1*2*3*4*5*6*7*8 = 40320. Gợi ý:
Code mẫu: sử dụng đệ quy 10 so dau tien cua day so Fibonacci: 0 1 1 2 3 5 8 13 21 340 Kết quả: 10 so dau tien cua day so Fibonacci: 0 1 1 2 3 5 8 13 21 341 Bài 03: Hãy viết chương trình để tạo ra một dictionary chứa (i, i*i), trong đó i là số nguyên từ 1 đến n (bao gồm cả 1 và n), n được nhập từ bàn phím. Sau đó in ra dictionary này ra màn hình. Ví dụ: Giả sử số n là 8 thì đầu ra sẽ là: {1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64}. Gợi ý:
Code mẫu: 10 so dau tien cua day so Fibonacci: 0 1 1 2 3 5 8 13 21 342 Kết quả: 10 so dau tien cua day so Fibonacci: 0 1 1 2 3 5 8 13 21 343 Bài 04: Viết chương trình giải phương trình bậc 2: ax2 + bx + c = 0. Code mẫu: 10 so dau tien cua day so Fibonacci: 0 1 1 2 3 5 8 13 21 344 Kết quả: 10 so dau tien cua day so Fibonacci: 0 1 1 2 3 5 8 13 21 345 Bài 05: Viết chương trình tìm ước số chung lớn nhất (USCLN) và bội số chung nhỏ nhất (BSCNN) của hai số nguyên dương a và b nhập từ bàn phím. Gợi ý:
Code mẫu: 10 so dau tien cua day so Fibonacci: 0 1 1 2 3 5 8 13 21 346 Kết quả: 10 so dau tien cua day so Fibonacci: 0 1 1 2 3 5 8 13 21 347 Bài 06: Viết chương trình liệt kê tất cả các số nguyên tố nhỏ hơn n. Số nguyên dương n được nhập từ bàn phím. Code mẫu: 10 so dau tien cua day so Fibonacci: 0 1 1 2 3 5 8 13 21 348 Kết quả: 10 so dau tien cua day so Fibonacci: 0 1 1 2 3 5 8 13 21 349 Bài 07: Viết chương trình liệt kê n số nguyên tố đầu tiên trong Python. Số nguyên dương n được nhập từ bàn phím. Code mẫu: """ * check so nguyen to trong Python * * @author viettuts.vn * @param n: so nguyen duong * @return 1 la so nguyen so, * 0 khong la so nguyen to """0 Kết quả: """ * check so nguyen to trong Python * * @author viettuts.vn * @param n: so nguyen duong * @return 1 la so nguyen so, * 0 khong la so nguyen to """1 Bài 8: Viết chương trình liệt kê tất cả số nguyên tố có 5 chữ số trong Python. Code mẫu: """ * check so nguyen to trong Python * * @author viettuts.vn * @param n: so nguyen duong * @return 1 la so nguyen so, * 0 khong la so nguyen to """2 Kết quả: """ * check so nguyen to trong Python * * @author viettuts.vn * @param n: so nguyen duong * @return 1 la so nguyen so, * 0 khong la so nguyen to """3 Bài 9: Viết chương trình phân tích số nguyên n thành các thừa số nguyên tố trong Python. Ví dụ: 100 = 2x2x5x5. Code mẫu: """ * check so nguyen to trong Python * * @author viettuts.vn * @param n: so nguyen duong * @return 1 la so nguyen so, * 0 khong la so nguyen to """4 Kết quả: """ * check so nguyen to trong Python * * @author viettuts.vn * @param n: so nguyen duong * @return 1 la so nguyen so, * 0 khong la so nguyen to """5 Bài 10: Viết chương trình tính tổng của các chữ số của môt số nguyên n trong Python. Số nguyên dương n được nhập từ bàn phím. Với n = 1234, tổng các chữ số: 1 + 2 + 3 + 4 = 10 Code mẫu: """ * check so nguyen to trong Python * * @author viettuts.vn * @param n: so nguyen duong * @return 1 la so nguyen so, * 0 khong la so nguyen to """6 Kết quả: """ * check so nguyen to trong Python * * @author viettuts.vn * @param n: so nguyen duong * @return 1 la so nguyen so, * 0 khong la so nguyen to """7 Bài 11: Viết chương trình kiểm tra một số n là số thuận nghịch trong Python. Số nguyên dương n được nhập từ bàn phím. Code mẫu: """ * check so nguyen to trong Python * * @author viettuts.vn * @param n: so nguyen duong * @return 1 la so nguyen so, * 0 khong la so nguyen to """8 Kết quả: """ * check so nguyen to trong Python * * @author viettuts.vn * @param n: so nguyen duong * @return 1 la so nguyen so, * 0 khong la so nguyen to """9 Bài 12: Viết chương trình liệt kê các số Fibonacci nhỏ hơn n là số nguyên tố trong Python. N là số nguyên dương được nhập từ bàn phím. Code mẫu: Cac so nguyen to nho hon 100 la: 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 970 Kết quả: Cac so nguyen to nho hon 100 la: 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 971 Bài 13: Viết chương trình chấp nhận một chuỗi số, phân tách bằng dấu phẩy từ giao diện điều khiển, tạo ra một danh sách và một tuple chứa mọi số. Ví dụ: Đầu vào được cung cấp là 34, 67, 55, 33, 12, 98 thì đầu ra là: ['34', '67', '55', '33', '12', '98'] Gợi ý:
Code mẫu: Cac so nguyen to nho hon 100 la: 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 972 Kết quả: Cac so nguyen to nho hon 100 la: 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 973 3. Bài tập vòng lặp trong PythonBài này tổng hợp các bài tập vòng lặp trong Python giúp bạn làm quen cú pháp và cách sử dụng của các vòng lặp Python cơ bản: vòng lặp for , vòng lặp while và vòng lặp lồng nhau. |