1. Khi lập trình Python, bạn muốn lưu trữ một tập hợp các giá trị duy nhất, không có thứ tự và không thể thay đổi. Bạn nên sử dụng kiểu dữ liệu nào?
A. List
B. Dictionary
C. Set
D. Tuple
2. Trong ngôn ngữ lập trình Python, từ khóa nào được sử dụng để định nghĩa một hàm?
A. function
B. func
C. def
D. define
3. Khi làm việc với danh sách trong Python, phương thức nào được sử dụng để thêm một phần tử vào cuối danh sách?
A. insert()
B. extend()
C. append()
D. add()
4. Khi lập trình Python, bạn muốn tạo một hàm có thể nhận vào một số lượng đối số tùy ý. Bạn sẽ sử dụng cú pháp nào cho tham số của hàm?
A. *args
B. **kwargs
C. args[]
D. kwargs{}
5. Trong Python, bạn muốn tạo một vòng lặp chạy 5 lần, với biến đếm bắt đầu từ 0 và tăng dần lên 4. Hàm `range()` nào sau đây phù hợp nhất?
A. range(5)
B. range(0, 5)
C. range(1, 6)
D. range(0, 5, 1)
6. Khi làm việc với các tệp tin trong Python, cách nào sau đây được khuyến nghị để đảm bảo tệp tin được đóng đúng cách ngay cả khi có lỗi xảy ra?
A. Sử dụng try-finally để đóng tệp tin.
B. Chỉ cần mở tệp tin và không cần đóng.
C. Sử dụng câu lệnh exit() sau khi đọc/ghi tệp.
D. Sử dụng khối with open(...) as f:
7. Trong Python, khi bạn gọi một phương thức trên một đối tượng, ví dụ `my_list.append(item)`, đối số đầu tiên được tự động truyền vào phương thức là gì?
A. Đối tượng `my_list`
B. Giá trị của `item`
C. Không có đối số nào được truyền tự động.
D. Tên của phương thức append.
8. Khi làm việc với chuỗi trong Python, phương thức nào được sử dụng để chuyển đổi tất cả các ký tự trong chuỗi thành chữ hoa?
A. lower()
B. capitalize()
C. title()
D. upper()
9. Trong ngôn ngữ lập trình Python, khi làm việc với danh sách (list), thao tác nào sau đây sẽ tạo ra một bản sao độc lập của danh sách gốc?
A. Sử dụng toán tử gán =.
B. Sử dụng phương thức append() với danh sách gốc.
C. Sử dụng phương thức copy() hoặc slicing [:]
D. Gán trực tiếp danh sách gốc cho một biến mới.
10. Biểu thức Python nào sau đây sẽ trả về giá trị `True`?
A. 10 == 5
B. 10 != 10
C. 5 < 10
D. 15 > 20
11. Cấu trúc dữ liệu nào trong Python cho phép lưu trữ một tập hợp các mục có thứ tự, có thể thay đổi và cho phép trùng lặp?
A. Set
B. Tuple
C. Dictionary
D. List
12. Khi lập trình Python, bạn muốn kiểm tra xem một biến có tồn tại trong một danh sách hay không. Bạn sẽ sử dụng toán tử nào?
A. ==
B. is
C. in
D. contains
13. Trong Python, một tuple là một cấu trúc dữ liệu có đặc điểm gì?
A. Có thể thay đổi (mutable) và không có thứ tự.
B. Không thể thay đổi (immutable) và có thứ tự.
C. Có thể thay đổi (mutable) và có thứ tự.
D. Không thể thay đổi (immutable) và không có thứ tự.
14. Một vòng lặp for trong Python thường được sử dụng để lặp qua các phần tử của một đối tượng có thể lặp (iterable) như danh sách, chuỗi, hoặc bộ dữ liệu. Điểm khác biệt chính giữa vòng lặp for và while là gì?
A. Vòng lặp for yêu cầu một biến đếm được khởi tạo trước.
B. Vòng lặp for được sử dụng khi số lần lặp đã biết trước hoặc dựa trên độ dài của đối tượng lặp.
C. Vòng lặp while luôn kết thúc nhanh hơn vòng lặp for.
D. Vòng lặp while chỉ có thể lặp qua các số nguyên.
15. Trong Python, phương thức nào của chuỗi được sử dụng để thay thế tất cả các lần xuất hiện của một chuỗi con bằng một chuỗi con khác?
A. split()
B. join()
C. replace()
D. find()
16. Khi lập trình Python, bạn cần một cấu trúc dữ liệu để lưu trữ các cặp khóa-giá trị mà không quan tâm đến thứ tự của các cặp đó. Cấu trúc nào phù hợp nhất?
A. List
B. Tuple
C. Set
D. Dictionary
17. Khi lập trình Python, bạn gặp lỗi TypeError: can only concatenate str (not int) to str. Lỗi này thường xảy ra khi nào?
A. Cố gắng cộng hai chuỗi có kiểu dữ liệu khác nhau.
B. Cố gắng cộng một chuỗi với một số nguyên.
C. Cố gắng nhân một chuỗi với một số nguyên.
D. Cố gắng chia một số nguyên cho một số nguyên.
18. Trong Python, cấu trúc điều kiện if-elif-else được sử dụng để làm gì?
A. Thực hiện một khối mã nhiều lần.
B. Kiểm tra nhiều điều kiện và thực thi các khối mã khác nhau dựa trên điều kiện nào đúng trước.
C. Định nghĩa một hàm.
D. Tạo một vòng lặp vô hạn.
19. Trong Python, hàm print() được sử dụng để làm gì?
A. Nhập dữ liệu từ bàn phím.
B. Hiển thị thông tin ra màn hình console.
C. Thực hiện phép toán số học.
D. Định nghĩa một biến.
20. Trong Python, một dictionary (từ điển) là một cấu trúc dữ liệu lưu trữ các cặp khóa-giá trị (key-value pairs). Đặc điểm quan trọng nhất của khóa (key) trong từ điển là gì?
A. Phải là một chuỗi.
B. Phải là duy nhất và không thể thay đổi (immutable).
C. Có thể là bất kỳ kiểu dữ liệu nào, kể cả có thể thay đổi.
D. Phải có giá trị tương ứng.
21. Hàm nào trong Python được sử dụng để lấy độ dài (số lượng phần tử) của một danh sách hoặc chuỗi?
A. size()
B. length()
C. count()
D. len()
22. Trong Python, list comprehension là một cách viết ngắn gọn để tạo danh sách mới. Cú pháp cơ bản của nó có dạng nào?
A. [expression for item in iterable if condition]
B. {item for item in iterable}
C. (expression for item in iterable)
D. {key: value for item in iterable}
23. Trong Python, lỗi IndexError: list index out of range xảy ra khi nào?
A. Cố gắng truy cập một phần tử trong danh sách bằng một chỉ số không tồn tại.
B. Cố gắng thêm một phần tử vào danh sách đã đầy.
C. Cố gắng xóa một phần tử không có trong danh sách.
D. Cố gắng truy cập một phần tử trong danh sách bằng một chuỗi thay vì chỉ số.
24. Trong Python, để thực hiện thao tác AND logic giữa hai biến boolean, bạn sử dụng từ khóa nào?
A. &&
B. and
C. AND
D. ||
25. Trong Python, hàm `input()` được sử dụng để làm gì?
A. Hiển thị thông tin ra màn hình.
B. Nhập dữ liệu từ bàn phím người dùng.
C. Thực hiện phép toán số học.
D. Định nghĩa một hàm mới.