Mục lục
I Các câu lệnh Python cơ bản 7
1 Giới thiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2 Cài đặt Python trên Windows . . . . . . . . . . . . . . . . . . . . . . . . 11
3 Giao diện lập trình Python GUI . . . . . . . . . . . . . . . . . . . . . . . 12
4 Cài đặt PyCharm trên Window . . . . . . . . . . . . . . . . . . . . . . . . 14
5 Hướng dẫn setup và chạy chương trình với PyCharm . . . . . . . . . . 18
6 Chương trình đầu tiên trên PyCharm . . . . . . . . . . . . . . . . . . . . 22
7 Một số thao tác khác trên PyCharm . . . . . . . . . . . . . . . . . . . . . 23
8 Câu hỏi ôn tập . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
1 Giới thiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2 Hiển thị nhiều thông tin . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3 Hiển thị với kí tự phân cách . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4 Hiển thị với kí tự kết thúc . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5 Hiển thị với số thập phân . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
6 Câu hỏi ôn tập . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
1 Giới thiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2 Câu lệnh nhập dữ liệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3 Kiểu số nguyên trên Python . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.1 Khai báo một biến kiểu số nguyên . . . . . . . . . . . . . . . . . 32
3.2 Nhập số nguyên từ bàn phím . . . . . . . . . . . . . . . . . . . . 33
3.3 Các phép toán trên số nguyên . . . . . . . . . . . . . . . . . . . 33
4 Kiểu số thực trên Python . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.1 Khai báo một biến kiểu số thực . . . . . . . . . . . . . . . . . . . 34
4.2 Nhập số thực từ bàn phím . . . . . . . . . . . . . . . . . . . . . . 34
4.3 Các phép toán trên số thực . . . . . . . . . . . . . . . . . . . . . 34
5 Xử lý lỗi nhập liệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
6 Câu hỏi ôn tập . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
1 Giới thiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2 Câu lệnh if . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Hướng dẫn lập trình Python cơ bản Trang 3
3 Câu lệnh if else . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4 Câu lệnh if elif else . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5 Câu lệnh lồng nhau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
6 Bài tập . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
7 Câu hỏi ôn tập . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
1 Giới thiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
2 Khai báo và truy xuất mảng một chiều . . . . . . . . . . . . . . . . . . . 50
3 Cấu trúc lặp for . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4 Nhập mảng từ bàn phím . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
5 Bài tập . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
6 Câu hỏi ôn tập . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
1 Giới thiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
2 Thêm một file Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3 Khai báo và truy xuất mảng nhiều chiều . . . . . . . . . . . . . . . . . . 59
4 Duyệt mảng nhiều chiều . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5 Nhập mảng nhiều chiều từ bàn phím . . . . . . . . . . . . . . . . . . . 61
6 Bài tập . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
7 Câu hỏi ôn tập . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
1 Giới thiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
2 Cú pháp vòng lặp while . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
2.1 Câu lệnh break và continue trong vòng lặp while . . . . . . . 69
2.1.1 Câu lệnh break . . . . . . . . . . . . . . . . . . . . . . . 69
2.1.2 Câu lệnh continue . . . . . . . . . . . . . . . . . . . . . 69
2.2 Sử dụng while trên một dòng . . . . . . . . . . . . . . . . . . . . 69
3 Cú pháp vòng lặp while-else . . . . . . . . . . . . . . . . . . . . . . . . . 69
4 Bài tập . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5 Câu hỏi ôn tập . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
1 Giới thiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
2 Ghi dữ liệu ra File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
3 Đọc dữ liệu từ File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
4 Đọc mảng 1 chiều từ File . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
5 Đọc mảng nhiều chiều từ File . . . . . . . . . . . . . . . . . . . . . . . . 79
6 Bài tập . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
7 Câu hỏi ôn tập . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
1 Giới thiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
2 Định nghĩa hàm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
3 Gọi Hàm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
3.1 Đối Số Mặc Định . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
3.2 Giá Trị Trả Về . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
3.3 Câu lệnh pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Trang 4 The Dariu Foundation
4 Viết hàm để tính giai thừa . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
4.1 Viết hàm sử dụng vòng lặp for . . . . . . . . . . . . . . . . . . . 89
4.2 Viết hàm sử dụng đệ quy . . . . . . . . . . . . . . . . . . . . . . . 89
5 Bài tập . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
6 Câu hỏi ôn tập . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
1 Giới thiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
2 Chuỗi (string) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
2.1 Nối chuỗi, thay đổi hoặc xóa chuỗi . . . . . . . . . . . . . . . . 96
2.2 Phương thức dùng với biến kiểu chuỗi . . . . . . . . . . . . . . 97
3 Cấu trúc dữ liệu Tuple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
3.1 Khởi tạo và truy xuất các phần tử trong Tuple . . . . . . . . . . 97
3.2 Các thao tác với Tuple . . . . . . . . . . . . . . . . . . . . . . . . 98
3.3 Khi nào sử dụng Tuple . . . . . . . . . . . . . . . . . . . . . . . . 98
4 Cấu trúc dữ liệu tập hợp (Set) . . . . . . . . . . . . . . . . . . . . . . . . 99
4.1 Khởi tạo và truy xuất các phần tử trong tập hợp . . . . . . . . . 99
4.2 Thay đổi tập hợp . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
4.3 Các phép toán trong tập hợp . . . . . . . . . . . . . . . . . . . . 100
4.3.1 Phép hợp (Union) . . . . . . . . . . . . . . . . . . . . . 100
4.3.2 Phép giao (Intersection) . . . . . . . . . . . . . . . . . 100
4.3.3 Phép hiệu (Difference) . . . . . . . . . . . . . . . . . . 100
4.3.4 Hiệu đối xứng của hai tập hợp (Symmetric difference)101
4.4 Khi nào sử dụng tập hợp . . . . . . . . . . . . . . . . . . . . . . . 101
5 Cấu trúc dữ liệu từ điển (Dictionary) . . . . . . . . . . . . . . . . . . . . 101
5.1 Khởi tạo và truy xuất các phần tử trong từ điển . . . . . . . . . 101
5.2 Thêm và cập nhật phần tử trong từ điển . . . . . . . . . . . . . 102
5.3 Xóa phần tử khỏi từ điển . . . . . . . . . . . . . . . . . . . . . . . 102
5.4 Một số phương thức hay dùng trong từ điển . . . . . . . . . . . 103
5.5 Khi nào sử dụng từ điển . . . . . . . . . . . . . . . . . . . . . . . 103
6 Bài tập . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
7 Câu hỏi ôn tập . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
II Dự án ứng dụng 107
[Tham khảo khóa học Python miễn phí]
[Tham khảo khóa học Python cơ bản]
Download tại liều Python (PDF), nên tải bởi lý do Python là một ngôn ngữ lập trình đa năng, mạnh mẽ và dễ học, được sử dụng rộng rãi trong nhiều lĩnh vực khác nhau, từ phát triển web, khoa học dữ liệu, trí tuệ nhân tạo (AI) đến tự động hóa và nhiều hơn nữa