Bài 24 Xâu kí tự
Lớp 10Tin Học13 câu hỏiBài tập
Phần 1
Câu 1
(Câu 24.1 trang 50 SBT Tin học 10) Giả sử s = "Thời khoá biểu" thì len(s) bằng bao nhiêu?
A14.
B3.
C5.
D17.
Câu 2
(Câu 24.2 trang 50 SBT Tin học 10) Các biểu thức lôgic sau trả về giá trị gì: (a) "01" in "10101"; (b) "10110" in "111000101"; (c) "abcab" in "bcabcabcabcb". Phương án nào đúng?
A(a) True; (b) False; (c) True.
B(a) False; (b) False; (c) True.
C(a) True; (b) True; (c) False.
D(a) False; (b) True; (c) True.
Câu 3
(Câu 24.6 trang 51 SBT Tin học 10) Nếu S = "1234567890" thì S[0:4] là gì?
A"1234".
B"123".
C"0123".
D"01234".
Câu 4
(Câu 24.7 trang 51 SBT Tin học 10) Cho đoạn chương trình sau:
S = "0123456789"
T = ""
for i in range(0, len(S), 2):
T = T + S[i]
print(T)
Kết quả đoạn chương trình là gì?
S = "0123456789"
T = ""
for i in range(0, len(S), 2):
T = T + S[i]
print(T)
Kết quả đoạn chương trình là gì?
A"02468".
B"".
C"13579".
D"0123456789".
Câu 5
(Câu 24.9 trang 51 SBT Tin học 10) Mệnh đề nào dưới đây đúng?
AXâu kí tự trong Python là xâu bao gồm các kí tự nằm trong bảng mã Unicode.
BXâu kí tự trong Python là xâu chỉ gồm các kí tự nằm trong bảng mã ASCII.
CXâu kí tự trong Python là xâu bao gồm các kí tự nằm trong bảng mã ASCII và một số kí tự tiếng Việt trong bảng mã Unicode.
DXâu kí tự trong Python là xâu bao gồm các kí tự số và chữ trong bảng mã Unicode.
Phần 2
Câu 1
(Câu 24.3 trang 51 SBT Tin học 10) Hai biểu thức ch in "0123456789" và "0" <= ch <= "9" có tương đương không? Nhận định nào sau đây đúng hoặc sai?
a)Hai biểu thức trên tương đương nhau khi xét ch là một kí tự.
b)Biểu thức ch in "0123456789" kiểm tra ch có phải là một chữ số từ 0 đến 9 hay không.
c)Biểu thức "0" <= ch <= "9" cũng kiểm tra ch có nằm trong khoảng các kí tự chữ số từ 0 đến 9 hay không.
d)Hai biểu thức trên luôn cho kết quả khác nhau với mọi giá trị của ch.
Câu 2
(Câu 24.4 trang 51 SBT Tin học 10) Hai biểu thức "0" <= ch <= "9" và ord("0") <= ord(ch) <= ord("9") có tương đương không? Nhận định nào sau đây đúng hoặc sai?
a)Hai biểu thức trên tương đương nhau khi xét ch là một kí tự.
b)Hàm ord(ch) trả về mã Unicode của kí tự ch.
c)Vì các kí tự chữ số từ "0" đến "9" có mã tăng dần nên có thể dùng ord để kiểm tra ch có phải chữ số hay không.
d)Biểu thức ord("0") <= ord(ch) <= ord("9") luôn sai với mọi kí tự ch.
Câu 3
(Câu 24.5 trang 51 SBT Tin học 10) Cho trước xâu kí tự S, cần nhận được xâu gồm các kí tự lấy từ S nhưng với thứ tự ngược lại. Ví dụ nếu S = "01ab" thì xâu nhận được là "ba10". Nhận định nào sau đây đúng hoặc sai?
a)Có thể tạo xâu kết quả ban đầu là xâu rỗng.
b)Có thể duyệt các kí tự của S theo thứ tự từ cuối về đầu.
c)Với mỗi kí tự lấy được, có thể ghép thêm vào xâu kết quả.
d)Muốn đảo ngược xâu, bắt buộc phải chuyển từng kí tự thành số nguyên bằng int().
Câu 4
(Câu 24.8 trang 51 SBT Tin học 10) Cho trước xâu kí tự S bất kì. Viết đoạn chương trình đếm số các kí tự là chữ số trong S. Nhận định nào sau đây đúng hoặc sai?
a)Có thể khởi tạo biến count = 0 trước khi duyệt xâu.
b)Có thể dùng vòng lặp for ch in S để duyệt từng kí tự trong xâu S.
c)Có thể kiểm tra ch là chữ số bằng điều kiện "0" <= ch <= "9".
d)Muốn đếm chữ số trong xâu, chỉ cần kiểm tra điều kiện ch == "a".
Câu 5
(Câu 24.8 trang 51 SBT Tin học 10) Cho trước xâu kí tự S bất kì. Viết đoạn chương trình đếm số các kí tự là chữ cái tiếng Anh trong S. Nhận định nào sau đây đúng hoặc sai?
a)Có thể khởi tạo biến count = 0 trước khi duyệt xâu.
b)Có thể kiểm tra ch là chữ cái thường tiếng Anh bằng điều kiện "a" <= ch <= "z".
c)Có thể kiểm tra ch là chữ cái hoa tiếng Anh bằng điều kiện "A" <= ch <= "Z".
d)Muốn đếm chữ cái tiếng Anh, chỉ cần kiểm tra điều kiện "0" <= ch <= "9".
Câu 6
(Câu 24.10 trang 51 SBT Tin học 10) Muốn biết biến s thuộc kiểu xâu kí tự hay không thì cần kiểm tra bằng lệnh gì? Nhận định nào sau đây đúng hoặc sai?
a)Có thể kiểm tra bằng biểu thức type(s) == type("").
b)Biểu thức type("") cho biết kiểu dữ liệu của một xâu rỗng.
c)Nếu type(s) == type("") trả về True thì s thuộc kiểu xâu kí tự.
d)Muốn kiểm tra s có phải xâu kí tự hay không, bắt buộc phải duyệt từng kí tự của s.
Câu 7
(Câu 24.11 trang 51 SBT Tin học 10) Cho trước hai xâu kí tự s1, s2. Viết đoạn chương trình in ra xâu kí tự gồm lần lượt các kí tự được lấy ra từ s1, s2. Nếu một trong hai xâu hết trước thì lấy tiếp từ xâu còn lại. Ví dụ nếu s1 = "012", s2 = "abcde" thì xâu kết quả là "0a1b2cde". Nhận định nào sau đây đúng hoặc sai?
a)Có thể tính m1 = len(s1), m2 = len(s2) và m = min(m1, m2).
b)Trong phần đầu, có thể duyệt m lần, mỗi lần lấy một kí tự của s1 rồi một kí tự của s2 đưa vào xâu kết quả.
c)Nếu một xâu dài hơn xâu còn lại, cần lấy tiếp phần còn lại của xâu dài hơn.
d)Khi ghép xen kẽ hai xâu, nếu một xâu hết trước thì bắt buộc phải xoá toàn bộ phần còn lại của xâu dài hơn.
Câu 8
(Câu 24.12 trang 51 SBT Tin học 10) Cho trước hai xâu kí tự s1, s2. Viết đoạn chương trình tính và in ra xâu kí tự là phần chung đầu tiên cực đại của hai xâu. Ví dụ nếu s1 = "abcdeghik", s2 = "abcmnopg" thì xâu cần tính là "abc". Nhận định nào sau đây đúng hoặc sai?
a)Có thể đặt m = min(len(s1), len(s2)) để giới hạn số kí tự cần so sánh.
b)Có thể khởi tạo i = 0 và s = "" trước vòng lặp.
c)Có thể dùng vòng lặp while i < m and s1[i] == s2[i] để lấy dần các kí tự chung đầu tiên.
d)Phần chung đầu tiên cực đại của hai xâu luôn là toàn bộ xâu s1, không cần so sánh với s2.