lxi.edu.vn
Năm học: 2025-2026
Chữ kí GT1: ...................
Chữ kí GT2: ...................
Môn: Tin học 10 | Thời gian làm bài: 45 phút
((Không kể thời gian phát đề) - Đề có 22 câu)
|
Họ và tên: ..................................................................... Lớp: ......................... Số báo danh: ............................................................ Phòng KT: .................... |
Mã phách |
| Điểm bằng số | Điểm bằng chữ | Chữ ký của GT1 | Chữ ký của GT2 | Mã phách |
Câu 1: (0.45 điểm) (THÔNG HIỂU - Trắc nghiệm phức hợp)
Đáp án đúng: A. True.
Giải thích:
Chương trình Python này kiểm tra xem trong một xâu ký tự `s` có chứa chuỗi "21" hay không. Nó duyệt qua từng ký tự của xâu `s`, và nếu tìm thấy ký tự '2' liền trước ký tự '1', biến `kq` sẽ được gán giá trị `True` và vòng lặp sẽ kết thúc. Với xâu `s = "python1221"`, chương trình sẽ thực hiện như sau: 1. `s = "python1221"` 2. `kq = False` 3. Vòng lặp `for i in range(len(s)-1)` sẽ chạy từ `i = 0` đến `i = 8` (vì `len(s) = 10`). `i = 0`: `s[0] == 'p'`, `s[1] == 'y'`. Điều kiện `s[0] == "2" and s[1] == "1"` là `False`. `i = 1`: `s[1] == 'y'`, `s[2] == 't'`. Điều kiện `s[1] == "2" and s[2] == "1"` là `False`. `i = 2`: `s[2] == 't'`, `s[3] == 'h'`. Điều kiện `s[2] == "2" and s[3] == "1"` là `False`. `i = 3`: `s[3] == 'h'`, `s[4] == 'o'`. Điều kiện `s[3] == "2" and s[4] == "1"` là `False`. `i = 4`: `s[4] == 'o'`, `s[5] == 'n'`. Điều kiện `s[4] == "2" and s[5] == "1"` là `False`. `i = 5`: `s[5] == 'n'`, `s[6] == '1'`. Điều kiện `s[5] == "2" and s[6] == "1"` là `False`. `i = 6`: `s[6] == '1'`, `s[7] == '2'`. Điều kiện `s[6] == "2" and s[7] == "1"` là `False`. `i = 7`: `s[7] == '2'`, `s[8] == '1'`. Điều kiện `s[7] == "2" and s[8] == "1"` là `True`. `kq = True` `break` (Vòng lặp kết thúc) 4. `print(kq)` (In ra `True`) Vậy kết quả của chương trình là `True`.Câu 2: (0.45 điểm) (NHẬN BIẾT - Trắc nghiệm phức hợp)
Đáp án đúng: C. Không có xâu bị lỗi.
Giải thích:
Để xác định xâu nào trong Python sẽ báo lỗi, ta cần xem xét các quy tắc về cách khai báo và sử dụng xâu trong Python. Xâu ký tự trong Python: Có thể được tạo bằng cách sử dụng dấu nháy đơn (`'...'`) hoặc dấu nháy kép (`"..."`). Sử dụng dấu nháy đơn/kép bên trong xâu: Nếu xâu được bao quanh bởi dấu nháy đơn, dấu nháy đơn bên trong xâu phải được "thoát" bằng cách sử dụng dấu gạch chéo ngược (`\`). Tương tự với dấu nháy kép. Xét từng đáp án: A. `'This is a string in Python'` và `message = "This is also a string"`: Cả hai đều là các xâu hợp lệ, sử dụng đúng cú pháp. B. `'\"Beautiful is better than ugly.\". Said Tim Peters'`: Đây cũng là một xâu hợp lệ. Dấu nháy kép bên trong xâu được bao quanh bởi dấu nháy đơn, nên không gây ra lỗi. * D. `'It\\'s also a valid string'`: Đây cũng là một xâu hợp lệ. Dấu nháy đơn bên trong xâu được "thoát" bằng dấu gạch chéo ngược (`\`). Như vậy, không có xâu nào trong các lựa chọn trên gây ra lỗi. Do đó, đáp án đúng là C.Câu 3: (0.45 điểm) (THÔNG HIỂU - Trắc nghiệm một lựa chọn)
Đáp án đúng: A. Xâu s2 lớn hơn xâu s1.
Giải thích:
Để so sánh hai xâu ký tự, ta so sánh chúng theo thứ tự từ điển. Thứ tự từ điển được xác định bằng cách so sánh từng ký tự của hai xâu từ trái sang phải. Nếu ký tự tại một vị trí nào đó của xâu thứ nhất nhỏ hơn ký tự tại cùng vị trí đó của xâu thứ hai, thì xâu thứ nhất nhỏ hơn xâu thứ hai. Nếu ký tự tại một vị trí nào đó của xâu thứ nhất lớn hơn ký tự tại cùng vị trí đó của xâu thứ hai, thì xâu thứ nhất lớn hơn xâu thứ hai. Nếu tất cả các ký tự của xâu thứ nhất đều bằng với các ký tự tương ứng của xâu thứ hai, và xâu thứ nhất ngắn hơn xâu thứ hai, thì xâu thứ nhất nhỏ hơn xâu thứ hai. Nếu tất cả các ký tự của xâu thứ nhất đều bằng với các ký tự tương ứng của xâu thứ hai, và xâu thứ nhất dài hơn xâu thứ hai, thì xâu thứ nhất lớn hơn xâu thứ hai. Nếu cả hai xâu giống hệt nhau, thì chúng bằng nhau. Trong trường hợp này, ta có xâu s1 = 'ha noi' và xâu s2 = 'ha noi cua toi'. So sánh hai xâu từ trái sang phải: 'h' của s1 bằng 'h' của s2. 'a' của s1 bằng 'a' của s2. ' ' của s1 bằng ' ' của s2. 'n' của s1 bằng 'n' của s2. 'o' của s1 bằng 'o' của s2. * 'i' của s1 bằng 'i' của s2. Đến đây, xâu s1 đã kết thúc, trong khi xâu s2 vẫn còn các ký tự ' cua toi'. Vì vậy, xâu s2 lớn hơn xâu s1. Vậy, khẳng định đúng là: Xâu s2 lớn hơn xâu s1.Câu 4: (0.45 điểm) (NHẬN BIẾT - Trắc nghiệm Đúng/Sai)
Đáp án đúng: A. 16.
Giải thích:
Để tìm độ dài của xâu "1234%^^%TFRESDRG", ta đếm số lượng ký tự trong xâu đó. Xâu "1234%^^%TFRESDRG" có các ký tự sau: 1, 2, 3, 4, %, ^, ^, %, T, F, R, E, S, D, R, G Đếm số lượng ký tự: 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 16 Vậy độ dài của xâu là 16. Đáp án đúng là A. 16.Câu 5: (0.45 điểm) (NHẬN BIẾT - Trắc nghiệm một lựa chọn)
Đáp án đúng: B. Xâu s1 bằng xâu s2.
Giải thích:
Để so sánh hai xâu kí tự `s1` và `s2`, ta so sánh độ dài và nội dung của chúng. Trong trường hợp này: - `s1` = 'abc' - `s2` = 'abc' Vì cả hai xâu có cùng độ dài và nội dung hoàn toàn giống nhau, nên `s1` bằng `s2`. Do đó, khẳng định "Xâu s1 bằng xâu s2" là đúng. Vậy đáp án đúng là B.Câu 6: (0.45 điểm) (VẬN DỤNG - Trắc nghiệm một lựa chọn)
Đáp án đúng: B. 8644.
Giải thích:
Phân tích câu lệnh: Đề bài cho đoạn code Python và yêu cầu xác định giá trị của biến `s2` sau khi đoạn code được thực thi. Đoạn code này duyệt qua từng kí tự trong chuỗi `s1`, kiểm tra xem kí tự đó (được chuyển thành số nguyên) có phải là số chẵn hay không. Nếu là số chẵn, kí tự đó sẽ được nối vào chuỗi `s2`. Giải thích chi tiết: 1. Khởi tạo: `s1 = "3986443"` và `s2 = ""`. 2. Vòng lặp `for ch in s1`: Vòng lặp này duyệt qua từng kí tự `ch` trong chuỗi `s1`. 3. Điều kiện `if int(ch) % 2 == 0`: Điều kiện này kiểm tra xem kí tự `ch` (đã được chuyển thành số nguyên bằng `int(ch)`) có chia hết cho 2 hay không (tức là có phải số chẵn hay không). 4. `s2 = s2 + ch`: Nếu điều kiện trên đúng (tức là `ch` là số chẵn), kí tự `ch` sẽ được nối vào chuỗi `s2`. Thực thi từng bước:| Vòng lặp | `ch` | `int(ch)` | `int(ch) % 2 == 0` | `s2` |
|---|---|---|---|---|
| 1 | `3` | `3` | `False` | `""` |
| 2 | `9` | `9` | `False` | `""` |
| 3 | `8` | `8` | `True` | `"8"` |
| 4 | `6` | `6` | `True` | `"86"` |
| 5 | `4` | `4` | `True` | `"864"` |
| 6 | `4` | `4` | `True` | `"8644"` |
| 7 | `3` | `3` | `False` | `"8644"` |
Câu 7: (0.45 điểm) (THÔNG HIỂU - Trắc nghiệm Đúng/Sai)
Đáp án đúng: B. "02468".
Giải thích:
Đoạn chương trình Python được cung cấp thực hiện các bước sau: 1. Khởi tạo chuỗi S: `S = "0123456789"` Chuỗi `S` được gán giá trị là `"0123456789"`. 2. Khởi tạo chuỗi T rỗng: `T = ""` Chuỗi `T` ban đầu là một chuỗi rỗng. 3. Vòng lặp for: `for i in range(0, len(S), 2):` Vòng lặp này duyệt qua các chỉ số của chuỗi `S` từ 0 đến `len(S)-1`, với bước nhảy là 2. Điều này có nghĩa là `i` sẽ lần lượt nhận các giá trị: 0, 2, 4, 6, 8. 4. Nối ký tự vào chuỗi T: `T = T + S[i]` Trong mỗi lần lặp, ký tự tại vị trí `i` của chuỗi `S` được nối vào chuỗi `T`. Lần lặp 1: `i = 0`, `T = T + S[0] = "" + "0" = "0"` Lần lặp 2: `i = 2`, `T = T + S[2] = "0" + "2" = "02"` Lần lặp 3: `i = 4`, `T = T + S[4] = "02" + "4" = "024"` Lần lặp 4: `i = 6`, `T = T + S[6] = "024" + "6" = "0246"` Lần lặp 5: `i = 8`, `T = T + S[8] = "0246" + "8" = "02468"` 5. In chuỗi T: `print(T)` Kết quả in ra màn hình là giá trị của chuỗi `T`, tức là `"02468"`. Vậy, kết quả của đoạn chương trình là `"02468"`.Câu 8: (0.45 điểm) (NHẬN BIẾT - Trắc nghiệm phức hợp)
Đáp án đúng: D. "1234".
Giải thích:
Câu hỏi này kiểm tra kiến thức cơ bản về cách truy cập và cắt xâu trong Python. Để giải bài này, ta cần hiểu cách Python đánh chỉ số (index) xâu và cách sử dụng cú pháp cắt xâu (slicing). Chỉ số trong Python: Trong Python, chỉ số của xâu bắt đầu từ 0. Vì vậy, ký tự đầu tiên của xâu có chỉ số là 0, ký tự thứ hai có chỉ số là 1, và cứ tiếp tục như vậy. Cú pháp cắt xâu: Cú pháp `S[start:end]` trả về một xâu con của `S` bắt đầu từ chỉ số `start` (bao gồm) và kết thúc ở chỉ số `end` (không bao gồm). Trong trường hợp này, `S = "1234567890"` và `S[0:4]` có nghĩa là: Bắt đầu từ chỉ số 0 (ký tự '1'). Kết thúc ở chỉ số 4 (không bao gồm ký tự ở chỉ số 4, tức là không bao gồm ký tự '5'). Vì vậy, `S[0:4]` sẽ trả về xâu con `"1234"`. Vậy đáp án đúng là D. "1234".Câu 9: (0.45 điểm) (NHẬN BIẾT - Trắc nghiệm một lựa chọn)
Đáp án đúng: A. len(s).
Giải thích:
Câu lệnh `len(s)` trong Python được sử dụng để tính độ dài của xâu `s`. Các đáp án khác không đúng cú pháp hoặc không phải là hàm có sẵn để tính độ dài xâu trong Python. Vậy, đáp án đúng là: A. `len(s)`.Câu 10: (0.45 điểm) (THÔNG HIỂU - Trắc nghiệm Đúng/Sai)
Đáp án đúng: D. 3.
Giải thích:
Đề bài yêu cầu xác định số lần chuỗi `s` được in ra dựa trên đoạn code Python cho trước. Để giải quyết, ta cần phân tích vòng lặp `for` và điều kiện `if`. Đoạn code: ```python s = "abcdefghi" for i in range(10): if i % 4 == 0: print(s) ``` Phân tích: 1. `s = "abcdefghi"`: Gán chuỗi "abcdefghi" cho biến `s`. 2. `for i in range(10):`: Vòng lặp `for` chạy từ `i = 0` đến `i = 9`. 3. `if i % 4 == 0:`: Kiểm tra xem `i` có chia hết cho 4 hay không. Nếu có thì in chuỗi `s`. 4. `print(s)`: In chuỗi `s`. Ta cần xác định các giá trị của `i` trong khoảng từ 0 đến 9 mà `i % 4 == 0` là đúng. `i = 0`: `0 % 4 == 0` (Đúng) `i = 1`: `1 % 4 == 1` (Sai) `i = 2`: `2 % 4 == 2` (Sai) `i = 3`: `3 % 4 == 3` (Sai) `i = 4`: `4 % 4 == 0` (Đúng) `i = 5`: `5 % 4 == 1` (Sai) `i = 6`: `6 % 4 == 2` (Sai) `i = 7`: `7 % 4 == 3` (Sai) `i = 8`: `8 % 4 == 0` (Đúng) `i = 9`: `9 % 4 == 1` (Sai) Vậy, chuỗi `s` được in ra khi `i = 0`, `i = 4`, và `i = 8`. Tổng cộng là 3 lần. Vậy đáp án đúng là D. 3.Câu 11: (0.45 điểm) (NHẬN BIẾT - Trắc nghiệm phức hợp)
Đáp án đúng: A. “C”.
Giải thích:
Chương trình in ra kí tự tại vị trí có chỉ số 0 của xâu `name`. Trong Python, chỉ số bắt đầu từ 0. Xâu `name = "Codelearn"` có các kí tự và chỉ số như sau:| Kí tự | C | o | d | e | l | e | a | r | n |
|---|---|---|---|---|---|---|---|---|---|
| Chỉ số | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
Câu 12: (0.45 điểm) (NHẬN BIẾT - Trắc nghiệm Đúng/Sai)
Đáp án đúng: C. 0.
Giải thích:
Xâu rỗng là xâu không chứa ký tự nào, do đó độ dài của nó bằng 0. Vậy đáp án đúng là: C. 0.Câu 13: (0.45 điểm) (THÔNG HIỂU - Trắc nghiệm một lựa chọn)
Đáp án đúng: A. True.
Giải thích:
Biểu thức `"01" in "10101"` kiểm tra xem chuỗi `"01"` có phải là một chuỗi con của chuỗi `"10101"` hay không. Trong trường hợp này, chuỗi `"01"` xuất hiện trong chuỗi `"10101"` (ví dụ, từ vị trí thứ 2 đến vị trí thứ 3). Do đó, biểu thức này trả về giá trị `True`. Đáp án đúng là A. True.Câu 14: (0.45 điểm) (NHẬN BIẾT - Trắc nghiệm một lựa chọn)
Đáp án đúng: C. Có thể thay đổi từng kí tự của một xâu.
Giải thích:
Phát biểu "Có thể thay đổi từng kí tự của một xâu" là sai trong Python. Xâu ký tự trong Python là kiểu dữ liệu bất biến (immutable), nghĩa là một khi xâu đã được tạo, ta không thể thay đổi nội dung của nó trực tiếp thông qua chỉ số. Để thay đổi xâu, ta cần tạo một xâu mới. Các đáp án còn lại đều đúng: - A: Có thể truy cập từng kí tự của xâu thông qua chỉ số. (Ví dụ: `s[0]` trả về kí tự đầu tiên của xâu `s`). - B: Chỉ số bắt đầu từ 0. - D: Python không có kiểu dữ liệu kí tự riêng biệt. Kí tự được xem là xâu có độ dài 1.Câu 15: (0.45 điểm) (NHẬN BIẾT - Trắc nghiệm một lựa chọn)
Đáp án đúng: D. Chương trình bị lỗi.
Giải thích:
Trong Python, xâu ký tự là một kiểu dữ liệu bất biến (immutable). Điều này có nghĩa là bạn không thể thay đổi trực tiếp một ký tự tại một vị trí cụ thể trong xâu. Khi bạn cố gắng gán một giá trị mới cho một ký tự trong xâu bằng cách sử dụng `s[0] = '8'`, Python sẽ báo lỗi `TypeError: 'str' object does not support item assignment`. Vì vậy, chương trình sẽ bị lỗi. Đáp án đúng là D.Câu 16: (0.45 điểm) (THÔNG HIỂU - Trắc nghiệm phức hợp)
Đáp án đúng: B. In một chuỗi kí tự từ 0 tới 9.
Giải thích:
Đoạn chương trình được cung cấp có vẻ như bị thiếu một vài thành phần quan trọng, đặc biệt là vòng lặp `for` hoặc `while` và phạm vi của biến `i`. Tuy nhiên, dựa vào các đáp án và kết quả mong muốn, ta có thể suy luận đoạn code đầy đủ như sau (giả định sử dụng Python): ```python s = "" for i in range(10): # Vòng lặp từ 0 đến 9 s = s + str(i) print(s) ``` Giải thích: 1. `s = ""`: Khởi tạo một chuỗi `s` rỗng. 2. `for i in range(10):`: Vòng lặp `for` duyệt qua các số nguyên từ 0 đến 9 (không bao gồm 10). Hàm `range(10)` tạo ra một dãy số từ 0 đến 9. 3. `s = s + str(i)`: Trong mỗi lần lặp, giá trị của `i` (một số nguyên) được chuyển đổi thành một chuỗi bằng hàm `str(i)` và nối vào chuỗi `s`. Ví dụ, khi `i = 0`, `s` trở thành `"0"`; khi `i = 1`, `s` trở thành `"01"`, v.v. 4. `print(s)`: Sau khi vòng lặp kết thúc, chuỗi `s` (chứa các số từ 0 đến 9 được nối lại) được in ra màn hình. Do đó, chương trình này sẽ in ra chuỗi `"0123456789"`. Điều này có nghĩa là chương trình in một chuỗi kí tự từ 0 tới 9.Câu 17: (0.45 điểm) (NHẬN BIẾT - Trắc nghiệm một lựa chọn)
Đáp án đúng: B. len(s).
Giải thích:
Hàm `len(s)` trong Python được sử dụng để trả về độ dài (số lượng ký tự) của xâu `s`. Các lựa chọn khác không phải là cú pháp đúng trong Python để lấy độ dài xâu. `str(s)`: Chuyển đổi đối tượng `s` thành kiểu xâu. `length(s)`: Không phải là hàm có sẵn trong Python. * `s.len()`: Không phải là cú pháp đúng trong Python. Vậy đáp án đúng là `len(s)`.Câu 18: (0.45 điểm) (NHẬN BIẾT - Trắc nghiệm một lựa chọn)
Đáp án đúng: C. 4.
Giải thích:
Để xác định xâu kí tự nào hợp lệ, ta cần xem xét các quy tắc cơ bản về xâu kí tự. Một xâu kí tự thường là một chuỗi các ký tự (chữ cái, số, ký hiệu đặc biệt) được đặt trong dấu nháy đơn hoặc nháy kép. 1) “123_@##”: Hợp lệ vì là một chuỗi các ký tự trong dấu nháy kép. 2) “hoa hau”: Hợp lệ vì là một chuỗi các ký tự trong dấu nháy kép. 3) “346h7g84jd”: Hợp lệ vì là một chuỗi các ký tự trong dấu nháy kép. 4) python: Hợp lệ vì nó là một chuỗi kí tự (trong Python không cần dấu nháy). 5) “01028475”: Hợp lệ vì là một chuỗi các ký tự trong dấu nháy kép. 6) 123456: Hợp lệ vì nó là một chuỗi kí tự (trong Python không cần dấu nháy). Vậy có tất cả 6 xâu kí tự hợp lệ. Tuy nhiên, theo đáp án đúng, chỉ có 4 xâu hợp lệ. Điều này mâu thuẫn với phân tích ở trên. Có thể đề bài có một số điều kiện ngầm khác hoặc đang xét trên một ngôn ngữ lập trình cụ thể mà ở đó việc khai báo xâu có một số ràng buộc nhất định. Nếu coi xâu hợp lệ là xâu nằm trong dấu nháy kép thì ta có các xâu sau: 1) “123_@##” 2) “hoa hau” 3) “346h7g84jd” 4) “01028475” Vậy có 4 xâu hợp lệ. Vậy đáp án đúng là C. 4.Câu 19: (0.45 điểm) (THÔNG HIỂU - Trắc nghiệm một lựa chọn)
Đáp án đúng: B. 2.
Giải thích:
Để giải bài toán này, ta cần xác định xem mỗi xâu s1, s2, s3, s4 có phải là xâu con của xâu s hay không. Ta có: s = "123456abcdefg" s1 = "124" s2 = "235" s3 = "ab" s4 = "56" + s3 = "56ab" Giờ ta xét từng biểu thức: 1) s1 in s: s1 = "124". Ta tìm xâu "124" trong s. Trong s có "1234" nhưng không có "124" liền nhau. Vậy, s1 không phải xâu con của s. Biểu thức này sai. 2) s2 in s: s2 = "235". Ta tìm xâu "235" trong s. Trong s có "23456" nhưng không có "235" liền nhau. Vậy, s2 không phải xâu con của s. Biểu thức này sai. CẬP NHẬT:* Sau khi kiểm tra lại, ta thấy s2 = "235" KHÔNG phải là xâu con của s, do đó biểu thức này SAI. 3) s3 in s: s3 = "ab". Ta tìm xâu "ab" trong s. Trong s có "abcdefg", do đó "ab" là xâu con của s. Vậy, s3 là xâu con của s. Biểu thức này đúng. 4) s4 in s: s4 = "56ab". Ta tìm xâu "56ab" trong s. Trong s có "56abcdefg", do đó "56ab" là xâu con của s. Vậy, s4 là xâu con của s. Biểu thức này đúng. Vậy, có 2 biểu thức đúng là biểu thức 3 và 4. Do đó, đáp án đúng là B. 2Câu 20: (0.45 điểm) (NHẬN BIẾT - Trắc nghiệm phức hợp)
Đáp án đúng: A. ‘c’.
Giải thích:
Trong Python, xâu kí tự là một dãy các kí tự được đánh chỉ số từ 0. Đoạn chương trình sau thực hiện các bước: 1. Gán xâu "abcdefg" cho biến `s`. 2. In ra kí tự tại vị trí có chỉ số là 2 của xâu `s`. Vì chỉ số bắt đầu từ 0, nên: `s[0]` là 'a' `s[1]` là 'b' `s[2]` là 'c' `s[3]` là 'd' `s[4]` là 'e' `s[5]` là 'f' * `s[6]` là 'g' Vậy, `print(s[2])` sẽ in ra 'c'.Câu 21: (0.45 điểm) (THÔNG HIỂU - Trắc nghiệm Đúng/Sai)
Đáp án đúng: B. True, True.
Giải thích:
Để giải quyết câu hỏi này, ta cần hiểu ý nghĩa của toán tử `in` trong Python khi áp dụng cho các xâu kí tự. Toán tử `in` kiểm tra xem một xâu có phải là xâu con của một xâu khác hay không. Nếu xâu thứ nhất là xâu con của xâu thứ hai, kết quả trả về là `True`, ngược lại là `False`. Trong trường hợp này: - `S1 = "12345"` - `S2 = "3e4r45"` - `S3 = "45"` Ta cần kiểm tra hai biểu thức: 1. `S3 in S1`: Kiểm tra xem `"45"` có phải là xâu con của `"12345"` hay không. Vì `"45"` xuất hiện trong `"12345"`, kết quả là `True`. 2. `S3 in S2`: Kiểm tra xem `"45"` có phải là xâu con của `"3e4r45"` hay không. Vì `"45"` xuất hiện trong `"3e4r45"`, kết quả là `True`. Vậy kết quả của hai biểu thức là `True, True`.Câu 22: (0.45 điểm) (NHẬN BIẾT - Trắc nghiệm một lựa chọn)
Đáp án đúng: B. Chương trình bị lỗi.
Giải thích:
Chương trình có lỗi ở dòng `s.append(i)`. Trong Python, xâu kí tự là kiểu dữ liệu bất biến (immutable). Do đó, không thể sử dụng phương thức `append()` trực tiếp trên xâu kí tự. Phương thức `append()` thường được sử dụng với kiểu dữ liệu danh sách (list). Để thêm một kí tự hoặc một chuỗi vào xâu kí tự, ta sử dụng phép cộng chuỗi (`+`). Để sửa lỗi, ta cần thay dòng `s.append(i)` bằng `s = s + str(i)`. Ngoài ra, biến `n` được nhập vào từ hàm `input()` sẽ có kiểu xâu, cần phải chuyển về kiểu số nguyên bằng hàm `int()`. Do đó, chương trình bị lỗi.