Lời chào bằng Python
In lời chào ghép với từ đã đọc.

Luyện tập nền tảng ngôn ngữ Python qua chuỗi bài tập thực hành có cấu trúc: từ nhập xuất chuẩn, xử lý số học, phân nhánh logic đến cấu trúc dữ liệu căn bản và tổ chức hàm tái sử dụng.
bài tập có chấm code
Bài tập theo chuyên đề, có đề bài, ví dụ và starter code riêng.
cơ bản
Củng cố nền tảng và làm quen với kỹ thuật cốt lõi.
trung bình
Kết hợp nhiều bước suy luận để vận dụng kiến thức.
nâng cao
Thử thách tối ưu, cấu trúc dữ liệu và thuật toán chuyên sâu.
Sử dụng input(), print(), ép kiểu dữ liệu int/float và các phép toán số học.
Làm chủ if, elif, else, toán tử so sánh và biểu thức logic kết hợp.
Duyệt số với for-range, vòng lặp while kiểm tra điều kiện và lệnh break/continue.
Thao tác với danh sách mảng và từ điển ánh xạ khóa - giá trị căn bản.
Tổ chức code sạch với hàm, truyền tham số và trả về kết quả return.
Quên ép kiểu khi đọc dữ liệu từ input() dẫn đến cộng chuỗi thay vì cộng số.
Lỗi thụt đầu dòng (IndentationError) trong khối lệnh if hoặc vòng lặp.
Nhầm lẫn giữa toán tử gán (=) và toán tử so sánh bằng (==).
Trong mỗi mức độ, bài tập được xếp từ dễ nhất đến khó nhất — hãy đi theo số bước.
Nhập xuất, biến, rẽ nhánh và các bước suy luận đơn giản.
In lời chào ghép với từ đã đọc.
Đọc hai số nguyên a và b, rồi in tổng a + b.
Đọc hai số nguyên a và b, rồi in hiệu a - b.
Đọc hai số nguyên a và b, rồi in tích a × b.
Đọc a và b, rồi in phần dư Python a % b.
Đọc a và b, rồi in thương nguyên theo phép chia sàn của Python: a // b.
Đọc số nguyên x và in gấp đôi của nó, tức 2 × x.
Đọc số nguyên x và in bình phương của nó, tức x².
Đọc số nguyên x và in trị tuyệt đối |x|.
Học viện AI Empire Academy chào đón các học viên mới gia nhập hệ thống đào tạo công nghệ cao. Bạn hãy viết một chương trình nhận thông tin gồm Họ tên và Năm sinh của học viên, sau…
Khi đồng bộ hai chu kỳ tác vụ hoặc quy đồng mẫu số, ta cần bội chung nhỏ nhất. Duyệt bội của một số để tìm bội chung đầu tiên tốn O(lcm), có thể tới 1018 phép tính. Dùn…
Đảo ngược chữ số là thao tác nền tảng trong kiểm tra đối xứng số, mã hoá đơn giản và xử lý mã định danh. Điểm dễ sai nhất là xử lý dấu âm và các chữ số 0 ở cuối.
Tách chữ số và tổng hợp chúng là kỹ năng lặp lại trong nhiều bài số học: kiểm tra số Armstrong, mã kiểm tra (checksum), và các trò chơi chữ số. Tích các chữ số còn dùng trong phân…
Số hệ 16 xuất hiện ở mọi nơi trong lập trình: mã màu CSS, địa chỉ bộ nhớ, mã băm, khoá ngoại trong cơ sở dữ liệu. Hiểu cách chuyển hệ giúp bạn đọc dữ liệu thô và gỡ lỗi ở tầng thấp…
Số chính phương là số bằng bình phương của một số nguyên. Kiểm tra này dùng trong hình học (đường chéo hình vuông), nén ảnh (bảng có cạnh bằng nhau) và tối ưu thuật toán khi kích t…
Vòng lặp, mảng một chiều, chuỗi và hàm ở mức cơ bản.
Đếm phần tử thoả “chia hết cho 3 hoặc 5” là ví dụ nhập môn của nguyên lý bù trừ: cộng hai tập rồi trừ phần giao. Kỹ thuật này mở rộng cho mọi bài đếm trên nhiều điều kiện.
Luỹ thừa là phép toán nền tảng của mã hoá (RSA), tăng trưởng theo cấp số nhân và độ phức tạp thuật toán. Bài này luyện cách hiện thực luỹ thừa bằng vòng lặp và xử lý đúng các trườn…
Số lượng ước số quyết định nhiều tính chất số học: số nguyên tố có đúng hai ước, số hoàn hảo có tổng ước bằng chính nó, và số có nhiều ước thường xuất hiện trong bài toán chia nhóm…
Ước chung là công cụ rút gọn phân số, chia đều tài nguyên và đồng bộ chu kỳ. Nhận xét quan trọng: ước chung của a và b đúng bằng ước của gcd(a,b) — nhờ vậy chỉ cần liệt kê ước của…
Số Armstrong (số narcissistic) bằng tổng các chữ số của nó, mỗi chữ số luỹ thừa số lượng chữ số. Ví dụ 153 = 1^3 + 5^3 + 3^3. Đây là bài luyện kết hợp tách chữ số, luỹ thừa và so k…
Hệ thống máy chủ tính toán AI của AI Empire Academy tiêu thụ lượng điện năng lớn hàng tháng. Ban quản lý áp dụng biểu giá điện lũy tiến 4 bậc để khuyến khích tiết kiệm năng lượng:
Trong hệ thống quản lý khóa học của AI Empire Academy, cần xác định chính xác số ngày của một tháng trong năm để xếp lịch học cho học viên.
Viết hàm process_sensor_stream(timestamps: list[str], raw_values: list[float], calibration_factor: float, threshold: float) -> list[dict]:
Một số hoàn hảo bằng tổng các ước thực sự của nó (không kể chính nó): 6 = 1+2+3, 28 = 1+2+4+7+14. Duyệt mọi ước tới n-1 tốn O(n); chỉ cần duyệt tới √(n) và cộng theo từng cặp ư…
Sinh dãy số nguyên tố là bài luyện đầu tiên về vòng lặp không biết trước số bước — ta phải duyệt cho tới khi đủ số lượng yêu cầu. Kỹ thuật này dùng khi sinh khoá, kiểm tra tính ngu…
Đọc số nguyên x. Nếu x chia hết cho 2, in EVEN; ngược lại in ODD.
Đọc số nguyên x và phân loại dấu của nó.
Đọc hai số nguyên và in số lớn hơn hoặc bằng số còn lại.
Đọc hai số nguyên và in số nhỏ hơn hoặc bằng số còn lại.
Đọc điểm nguyên x và kiểm tra học viên có đạt hay không.
Bài tổng hợp nhẹ, sẵn sàng bước sang mức trung bình.
Đọc số nguyên không âm N và tính tổng 1 + 2 + ... + N.
Đọc N và đếm có bao nhiêu số chẵn trong đoạn từ 1 đến N.
Đọc N và tính giai thừa N! = 1 × 2 × ... × N.
Đọc số nguyên N và đếm số chữ số trong biểu diễn thập phân của |N|.
Đọc số nguyên N và tính tổng các chữ số trong biểu diễn thập phân của |N|.
Kiểm tra số nguyên tố là bước mở đầu của mật mã, sàng số và nhiều bài toán số học. Cách ngây thơ kiểm tra mọi số từ 2 đến n-1 tốn O(n); chỉ cần thử chia đến √(n) vì nếu n = u…
Đọc một list số nguyên và in tổng tất cả phần tử.
Đọc một list số nguyên và in phần tử lớn nhất.
Đọc một list số nguyên và in phần tử nhỏ nhất.
Đọc một list số nguyên và đếm số phần tử chẵn.
Đọc một list số nguyên và đếm số phần tử dương.
Đọc một list số nguyên và in các phần tử theo thứ tự ngược lại.
Đọc một list số nguyên và giá trị cần tìm, rồi in vị trí xuất hiện đầu tiên của giá trị đó.
Hệ thống xếp hạng học bổng của AI Empire Academy cần sắp xếp danh sách sinh viên theo thứ tự ưu tiên:
Viết hàm sort_ecommerce_products(products: list[dict], primary_key: str = "category", secondary_key: str = "rating") -> list[dict]:
Dùng một kỹ thuật quen thuộc: sắp xếp, tìm kiếm, đếm, ngăn xếp.
Viết hàm sieve_and_prime_factorization(n: int) -> tuple[list[int], dict[int, int]]:
Viết hàm aggregate_server_logs(logs: list[str]) -> dict:
Viết hàm find_optimal_portfolio(assets: list[str], expected_returns: dict[str, float], budget: int) -> tuple[float, list[str]]:
Viết hàm group_user_sessions(click_events: list[dict], max_idle_seconds: int = 1800) -> list[list[dict]]:
Trong các thuật toán mã hóa khóa công khai (RSA) được giảng dạy tại AI Empire Academy, việc tính toán tổng trọng số chữ số và ước chung lớn nhất giữa hai số nguyên là các thao tác…
Hệ thống học tập của AI Empire Academy kết thúc học kỳ cần tổng kết báo cáo thành tích học tập của một lớp học. Mỗi học viên được biểu diễn bằng một từ điển có cấu trúc:
Phối hợp hai kỹ thuật trong cùng một lời giải.
Đường chéo chính là tập ô (i, i) của ma trận vuông — dữ liệu của vết ma trận (trace), dùng trong đại số tuyến tính, phân tích ma trận hiệp phương sai và kiểm tra ma trận đối xứng.
Chuyển vị đổi hàng thành cột và ngược lại. Thao tác này có mặt khắp nơi: nhân ma trận, đổi hệ trục toạ độ, và trong học máy khi phải chuyển tensor từ dạng (H, W, C) sang (C, H, W).
Căn bậc hai nguyên là công cụ nền tảng: đếm ước số, kiểm tra nguyên tố, và tính khoảng cách trong hình học đều cần nó. Yêu cầu “làm tròn xuống” khác với round, nên phải chọn đúng p…
Hệ nhị phân là ngôn ngữ gốc của máy tính. Đổi thập phân sang nhị phân giúp hiểu mặt nạ bit (bitmask), cờ trạng thái và tối ưu bộ nhớ — những kỹ thuật xuất hiện từ lập trình thi đấu…
Trong hệ thống mã hóa và kiến trúc máy tính của AI Empire Academy, các thanh ghi và mặt nạ bit (bitmask) đóng vai trò tối ưu hóa bộ nhớ.
Bài dài hơn, cần chọn đúng cấu trúc dữ liệu.
Khi cần biết *có bao nhiêu* số nguyên tố trong một khoảng, kiểm tra từng số bằng thử chia sẽ tốn O(N√(N)). Sàng Eratosthenes đánh dấu bội số của từng số nguyên tố và đưa chi ph…
Viết hàm transpose_and_rotate_matrix(matrix: list[list[int]]) -> tuple[list[list[int]], list[list[int]] | None]:
Cài đặt lớp MovingStatistics(window_size: int):
Khi rút gọn phân số, đồng bộ chu kỳ tác vụ hoặc chia đều tài nguyên, ta luôn cần tìm ước chung lớn nhất (GCD) của hai số. Cách duyệt từng ước để tìm GCD tốn O(min(a,b)) và sẽ quá…
Trong hệ thống theo dõi hành vi học tập của AI Empire Academy, các sự kiện thao tác của người dùng được ghi nhận liên tục theo thứ tự thời gian. Do học viên có thể nhấn nút nhiều l…
Một lập trình viên tập sự tại AI Empire Academy xây dựng hai hàm phụ trợ trong module ghi danh khóa học: