Với tóm tắt lý thuyết Tin học lớp 10 Bài 24: Xâu kí tự sách Kết nối tri thức hay, chi tiết giúp học sinh nắm vững kiến thức trọng tâm, ôn luyện để học tốt môn Tin học 10.
Tin học lớp 10 Bài 24: Xâu kí tự
A. Lý thuyết Tin học 10 Bài 24: Xâu kí tự
1. Xâu là một dãy các kí tự
- Xâu kí tự trong Python là dãy các kí tự Unicode.
- Xâu có thể được coi là danh sách các kí tự nhưng không thay đổi từng kí tự của xâu.
- Truy cập từng kí tự của xâu qua chỉ số, chỉ số từ 0 đến độ dài len() -1
- Ví dụ 1: Xâu kí tự và cách truy cập đến từng kí tự của xâu
- Ví dụ 2:
- Python không cho phép thay đổi từng kí tự của một xâu (khác với danh sách).
- Python không có kiểu dữ kiệu kí tự.
- Xâu rỗng được định nghĩa: empty = " "
2. Lệnh duyệt kí tự của xâu
- Có thể duyệt các kí tự của xâu bằng lệnh for tương tự như với danh sách. S1 in S2 trả lại giá trị True nếu S1 là xâu con của S2. Có 2 cách duyệt:
+ Cách thứ nhất, biến i lần lượt chạy theo chỉ số của xâu kí tự, từ 0 đến len(s) – 1. Kí tự tại chỉ số là s[i].
+ Cách thứ hai duyệt theo từng kí tự của xâu s. Biến ch sẽ được gán lần lượt các kí tự của xâu s từ đầu đến cuối.
- Chú ý: Từ khóa in, tùy trường hợp cụ thể, hoặc là toán tử lôgic dùng để kiểm tra giá trị có mặt hay không trong một vùng giá trị/danh sách/xâu, hoặc để chọn lần lượt từng phần tử trong một vùng giá trị/danh sách/xâu.
Thực hành: Các lệnh cơ bản làm việc với xâu kí tự
Nhiệm vụ 1: Viết chương trình nhập số tự nhiên n là số học sinh, sau đó nhập học và tên học sinh. Lưu họ và tên học sinh vào một danh sách. In danh sách ra màn hình, mỗi họ tên trên một dòng.
Hướng dẫn
Chương trình có thể như sau:
Nhiệm vụ 2: Nhập một xâu kí tự S từ bàn phím rồi kiểm tra xem xâu S có chứa xâu con “10” không.
Hướng dẫn
- Cách 1: Nếu xâu S chứa xâu con “10” thì sẽ có chỉ số k mà S[k] = “1” và S[k+1]=“0”
- Cách 2: Dùng toán tử in để kiểm tra xâu “10” có là xâu con của S.
B. Bài tập trắc nghiệm Tin học 10 Bài 24: Xâu kí tự
Câu 1. Biểu thức sau cho kết quả đúng hay sai?
S1 = “12345”
S2 = “3e4r45”
S3 = “45”
S3 in S1
S3 in S2
A. True, False.
B. True, True.
C. False, False.
D. False, True.
Đáp án đúng là: B
Cả hai chuỗi S1, S2 đều chứa S3 nên hai biểu thức đúng.
Câu 2. Kết quả của chương trình sau nếu s = “python1221” là gì?
s = input("Nhập xâu kí tự bất kì:")
kq = False
for i in range(len(s)-1):
if s[i] == "2" and s[i+1] == "1":
kq = True
break
print(kq)
A. True.
B. False.
C. Chương trình bị lỗi.
D. Vòng lặp vô hạn.
Đáp án đúng là: A
Chuỗi s chứa “21” nên kq = True.
Câu 3. Chương trình sau cho kết quả là bao nhiêu?
name = "Codelearn"
print(name[0])
A. “C”.
B. “o”.
C. “c”.
D. Câu lệnh bị lỗi.
Đáp án đúng là: A
Kí tự có chỉ số 0 đứng ở vị trí đầu tiên trong xâu name.
Câu 4. Kết quả của chương trình sau là bao nhiêu?
>>> s = “0123145”
>>> s[0] = ‘8’
>>> print(s[0])
A. ‘8’.
B. ‘0’.
C. ‘1’.
D. Chương trình bị lỗi.
Đáp án đúng là: D
Khác với danh sách, không thể thay đổi từng kí tự của xâu.
Câu 5. Trong Python, xâu nào chương trình sẽ báo lỗi.
A. 'This is a string in Python'
message = "This is also a string".
B. '"Beautiful is better than ugly.". Said Tim Peters'
C. Không có xâu bị lỗi.
D. 'It\'s also a valid string'
Đáp án đúng là: C
Cả ba xâu đều đúng, có thể sử dụng “” trong ‘’ hoặc sử dụng kí hiệu “\” trong xâu.
Câu 6. Trong Python, câu lệnh nào dùng để tính độ dài của xâu s?
A. len(s).
B. length(s).
C. s.len().
D. s. length().
Đáp án đúng là: A
Lệnh len() tính độ dài của xâu kí tự với cấu trúc len(list).
Câu 7. Có bao nhiêu xâu kí tự nào hợp lệ?
1) “123_@##”
2) “hoa hau”
3) “346h7g84jd”
4) python
5) “01028475”
6) 123456
A. 5.
B. 6.
C. 4.
D. 3
Đáp án đúng là: C
Các xâu hợp lệ: 1, 2, 3, 5
Xâu kí tự trong Python là dãy các kí tự Unicode và được đặt trong cặp dấu nháy đơn hoặc nháy kép.
Câu 8. Xâu “1234%^^%TFRESDRG” có độ dài bằng bao nhiêu?
A. 16.
B. 17.
C. 18.
D. 15.
Đáp án đúng là: A
Đếm số kí tự trong cặp dấu nháy kép.
Câu 9. Phát biểu nào sau đây là sai?
A. Có thể truy cập từng kí tự của xâu thông qua chỉ số.
B. Chỉ số bắt đầu từ 0.
C. Có thể thay đổi từng kí tự của một xâu.
D. Python không có kiểu dữ liệu kí tự.
Đáp án đúng là: C
Khác với danh sách, không thể thay đổi từng kí tự trong xâu.
Câu 10. Sau khi thực hiện lệnh sau, biến s sẽ có kết quả là:
s1 ="3986443"
s2 = ""
for ch in s1:
if int(ch) % 2 == 0:
s2 = s2 + ch
print(s2)
A. 3986443.
B. 8644.
C. 39864.
D. 443.
Đáp án đúng là:B
Chương trình hiển thị chuỗi gồm các chữ số chẵn trong s1.
Câu 11. Kết quả của chương trình sau là bao nhiêu?
>>> s = “abcdefg”
>>> print(s[2])
A. ‘c’.
B. ‘b’.
C. ‘a’.
D. ‘d’
Đáp án đúng là: A
Kí tự có chỉ số 2 nằm ở vị trí thứ 3 trong chuỗi là ‘c’.
Câu 12. Chương trình trên giải quyết bài toán gì?
s = ""
for i in range(10):
s = s + str(i)
print(s)
A. In một chuỗi kí tự từ 0 tới 10.
B. In một chuỗi kí tự từ 0 tới 9.
C. In một chuỗi kí tự từ 1 tới 10.
D. In một chuỗi kí tự từ 1 đến 9.
Đáp án đúng là: B
Biến i chạy từ 0 đến 9 trong range(10).
Câu 13. Cho s = “123456abcdefg”, s1 = “124”, s2 = “235”, s3 = “ab”, s4 = “56” + s3
Có bao nhiêu biểu thức lôgic sau đúng?
1) s1 in s.
2) s2 in s.
3) s3 in s.
4) s4 in s.
A. 1.
B. 2.
C. 3.
D. 4.
Đáp án đúng là: B
Biểu thức đúng là: 3, 4.
Câu 14. Chương trình sau giải quyết bài toán gì?
n = input("Nhập n")
s = ""
for i in range(n):
if i % 2 == 0:
s. append(i)
print(s)
A. In ra một chuỗi các số từ 0 tới n.
B. Chương trình bị lỗi.
C. In ra một chuỗi các số lẻ từ 0 đến n.
D. In ra một chuỗi các số chẵn từ 0 đến n – 1.
Đáp án đúng là: B
Do i có kiểu số nguyên nên không thể thêm vào chuỗi s được.
Câu 15. Chuỗi sau được in ra mấy lần?
s = "abcdefghi"
for i in range(10):
if i % 4 == 0:
print(s)
A. 0.
B. 1.
C. 2.
D. 3.
Đáp án đúng là: D
In ra 3 lần chuỗi s tương ứng với biến i bằng 0, 4, 8.
Xem thêm các bài tóm tắt lý thuyết Tin học lớp 10 Kết nối tri thức hay, chi tiết khác:
Lý thuyết Tin học 10 Bài 23: Một số lệnh làm việc với dữ liệu danh sách
Lý thuyết Tin học 10 Bài 24: Xâu kí tự
Lý thuyết Tin học 10 Bài 25: Một số lệnh làm việc với xâu kí tự