Dưới đây là lời giải chi tiết cho các câu hỏi bạn đã cung cấp:
**Câu 1:** Tại cửa sổ Shell nhập "bcbcbcbac"[:3] ta có kết quả:
- Đáp án đúng là: **A. 'bcb'**.
- Giải thích: Câu lệnh này lấy 3 ký tự đầu tiên của chuỗi, vì vậy kết quả là 'bcb'.
**Câu 2:** Tên biến nào không hợp lệ:
- Đáp án đúng là: **C. true** và **D. return**.
- Giải thích: "true" là một từ khóa trong Python (tương đương với True) và "return" cũng là một từ khóa trong Python, không thể dùng làm tên biến.
**Câu 3:** Cấu trúc câu lệnh lặp với số lần biết trước là:
- Đáp án đúng là: **A. for in range(m,n)**.
- Giải thích: Cấu trúc này được sử dụng để lặp qua một dãy số từ m đến n.
**Câu 4:** Cuối dòng đầu tiên của định nghĩa hàm phải có:
- Đáp án đúng là: **B. Dấu ': '**.
- Giải thích: Trong Python, sau phần định nghĩa hàm, cần có dấu hai chấm để chỉ định bắt đầu khối lệnh của hàm.
**Câu 5:** Biểu thức logic "01" in "10101" sẽ trả về giá trị gì?
- Đáp án đúng là: **D. True**.
- Giải thích: Biểu thức này kiểm tra xem chuỗi "01" có nằm trong chuỗi "10101" không, và kết quả là True.
**Câu 6:** Câu lệnh nào sau đây viết đúng:
- Đáp án đúng là: **B. if a>b: print(a)**.
- Giải thích: Câu lệnh if trong Python cần có dấu hai chấm (:) ở cuối để bắt đầu khối lệnh.
**Câu 7:** Phát biểu nào sau đây là sai?
- Đáp án đúng là: **C. Có thể thay đổi từng kí tự của một xâu**.
- Giải thích: Trong Python, xâu (string) là bất biến (immutable), nghĩa là không thể thay đổi từng ký tự trong xâu.
**Câu 8:** Thực hiện phép tính sau 4**(2**3) trong python ta được kết quả là:
- Đáp án đúng là: **C. 65536**.
- Giải thích: 2^3 = 8, và 4^8 = 65536.
**Câu 9:** Bản quyền của phần mềm không thuộc về đối tượng nào:
- Đáp án đúng là: **D. Người mua quyền sử dụng**.
- Giải thích: Người mua quyền sử dụng không có bản quyền đối với phần mềm.
**Câu 10:** Để khởi tạo danh sách b có 5 phần tử 1, 2, 3, 4, 5 ta viết:
- Đáp án đúng là: **D. b=[1,2,3,4,5]**.
- Giải thích: Đây là cú pháp chính xác để khởi tạo một danh sách trong Python.
**Câu 11:** Cho x=True, y=False. Khi đó giá trị của biểu thức not((x or y) and y) cho kết quả là:
- Đáp án đúng là: **D. True**.
- Giải thích: x or y = True, và True and False = False, do đó not(False) = True.
**Câu 12:** Xâu kí tự được đặt trong cặp dấu:
- Đáp án đúng là: **D. Nháy đơn ('') hoặc nháy kép ("")**.
- Giải thích: Trong Python, xâu kí tự có thể được đặt trong nháy đơn hoặc nháy kép.
**Câu 13:** Cho danh sách A=[1,2,3,4,5,6]. Tại cửa sổ Shell thực hiện lệnh A.pop(3) ta được:
- Đáp án đúng là: **B. 4**.
- Giải thích: Lệnh pop(3) sẽ xóa và trả về phần tử tại chỉ số 3, tức là 4.
**Câu 14:** Cho xâu kí tự S="babcbabcbabsbac" khi đó "ab" in S sẽ trả về giá trị gì?
- Đáp án đúng là: **D. True**.
- Giải thích: "ab" xuất hiện trong S nên trả về True.
**Câu 15:** Chương trình chạy phát sinh lỗi NameError, nghĩa là?
- Đáp án đúng là: **D. Tên biến sai chưa được khai báo**.
- Giải thích: NameError thường xảy ra khi bạn cố gắng sử dụng một biến mà chưa được định nghĩa.
**Câu 16:** Với A=10;B=12 thì điều kiện A+5!=B là:
- Đáp án đúng là: **A. TRUE**.
- Giải thích: 10 + 5 = 15 và 15 không bằng 12, do đó điều kiện là True.
**Câu 17:** Đâu là kiểu dữ liệu danh sách?
- Đáp án đúng là: **A. list**.
- Giải thích: list là kiểu dữ liệu để lưu trữ nhiều giá trị trong Python.
**Câu 18:** Để khai báo biến x là kiểu xâu, khai báo nào là đúng nhất:
- Đáp án đúng là: **D. x=input('mời nhập')**.
- Giải thích: Mặc định, hàm input() sẽ trả về kiểu dữ liệu xâu.
**Câu 19:** Cho danh sách A=[1,2,3,4]. Tại cửa số Shell thực hiện lệnh A+[12,18] khi đó ta được:
- Đáp án đúng là: **C. [1,2,3,4,12,18]**.
- Giải thích: Lệnh A + [12, 18] sẽ nối danh sách A với danh sách [12, 18], kết quả là [1,2,3,4,12,18].
Hy vọng những lời giải này sẽ hữu ích cho bạn!