Bài 25 Một số lệnh làm việc với xâu kí tự
Lớp 10Tin Học15 câu hỏiBài tập
Phần 1
Câu 1
(Câu 25.1 trang 52 SBT Tin học 10) Biểu thức sau trả lại giá trị gì?
"" in "0123"
"" in "0123"
ATrue.
BFalse.
CBáo lỗi.
DKhông xác định được.
Câu 2
(Câu 25.2 trang 52 SBT Tin học 10) Lệnh sau trả lại giá trị gì?
"abcde".find("")
"abcde".find("")
A0.
B-1.
C1.
DBáo lỗi.
Câu 3
(Câu 25.3 trang 52 SBT Tin học 10) Lệnh sau trả lại giá trị gì?
"0123456789".find("012abc")
"0123456789".find("012abc")
A-1.
B0.
C1.
DBáo lỗi.
Câu 4
(Câu 25.4 trang 52 SBT Tin học 10) Lệnh sau trả lại giá trị gì?
len(" Hà Nội Việt Nam ".split())
len(" Hà Nội Việt Nam ".split())
A4.
B0.
C5.
DBáo lỗi.
Câu 5
(Câu 25.5 trang 52 SBT Tin học 10) Lệnh sau trả lại giá trị gì?
"Trường Sơn".find("Sơn", 4)
"Trường Sơn".find("Sơn", 4)
A7.
B5.
C6.
D8.
Câu 6
(Câu 25.6 trang 52 SBT Tin học 10) Lệnh sau trả lại giá trị gì?
"Trường Sơn".find("Sơn", 8)
"Trường Sơn".find("Sơn", 8)
A-1.
B5.
C6.
D7.
Phần 2
Câu 1
(Câu 25.7 trang 52 SBT Tin học 10) Cho trước xâu kí tự S, viết đoạn chương trình xoá đi các dấu cách thừa trong xâu. Dấu cách thừa là các dấu cách ở đầu, cuối và giữa các từ. Quy định giữa các từ chỉ có một dấu cách. Nhận định nào sau đây đúng hoặc sai?
a)Có thể dùng lệnh S.split() để tách xâu S thành danh sách các từ và tự động loại bỏ các dấu cách thừa.
b)Có thể dùng lệnh " ".join(A) để ghép các từ trong danh sách A thành một xâu, giữa hai từ có đúng một dấu cách.
c)Với S = " baby table cloud ", sau khi xử lí bằng split() và join(), kết quả có thể là "baby table cloud".
d)Muốn xoá dấu cách thừa, bắt buộc phải duyệt từng kí tự và không thể dùng split().
Câu 2
(Câu 25.8 trang 53 SBT Tin học 10) Viết chương trình nhập một xâu là họ tên đầy đủ gồm họ, đệm, tên từ bàn phím, sau đó in ra màn hình lần lượt họ, đệm và tên vừa nhập. Nhận định nào sau đây đúng hoặc sai?
a)Có thể nhập họ tên đầy đủ bằng lệnh hoten = input("Nhập họ tên đầy đủ: ").
b)Có thể dùng A = hoten.split() để tách họ tên thành danh sách các từ.
c)Họ có thể lấy bằng A[0], tên có thể lấy bằng A[len(A) - 1].
d)Phần đệm luôn lấy bằng A[0], còn họ luôn lấy bằng A[len(A) - 1].
Câu 3
(Câu 25.8 trang 53 SBT Tin học 10) Với họ tên đầy đủ đã tách thành danh sách A, ví dụ “Nguyễn Xuân Quang Lâm”, cần xác định phần đệm và in ra họ, đệm, tên. Nhận định nào sau đây đúng hoặc sai?
a)Phần đệm có thể được tạo bằng lệnh dem = " ".join(A[1:len(A) - 1]).
b)Với họ tên “Nguyễn Xuân Quang Lâm”, phần họ là “Nguyễn”.
c)Với họ tên “Nguyễn Xuân Quang Lâm”, phần tên là “Lâm”.
d)Phần đệm phải lấy bằng toàn bộ danh sách A, kể cả họ và tên.
Câu 4
(Câu 25.9 trang 53 SBT Tin học 10) Cho trước xâu kí tự S và xâu subs. Dùng lệnh nào để biết được vị trí xuất hiện đầu tiên của xâu subs trong xâu S? Nhận định nào sau đây đúng hoặc sai?
a)Có thể dùng lệnh S.find(subs) để tìm vị trí xuất hiện đầu tiên của subs trong S.
b)Nếu tìm thấy subs trong S, lệnh find() trả về chỉ số vị trí xuất hiện đầu tiên.
c)Nếu không tìm thấy subs trong S, lệnh find() trả về -1.
d)Lệnh S.find(subs) luôn trả về độ dài của xâu S.
Câu 5
(Câu 25.10 trang 53 SBT Tin học 10) Cho trước xâu kí tự S và xâu substr. Cần biết vị trí xuất hiện cuối cùng của xâu substr trong xâu S. Ví dụ nếu S = "123321243212", substr = "12" thì vị trí xuất hiện lần cuối của "12" trong xâu S là 10. Nhận định nào sau đây đúng hoặc sai?
a)Có thể khởi tạo k = -1 để lưu vị trí xuất hiện cuối cùng tìm được.
b)Có thể duyệt các vị trí i trong S và dùng S.find(substr, i) để tìm substr từ vị trí i trở đi.
c)Nếu S.find(substr, i) >= 0 thì có thể cập nhật k bằng vị trí tìm được.
d)Nếu không tìm thấy substr trong S thì chương trình phải trả về 0.
Câu 6
(Câu 25.11 trang 53 SBT Tin học 10) Viết chương trình nhập n số nguyên từ bàn phím, các số cách nhau bởi dấu cách, sau đó in ra danh sách số đã nhập, số lớn nhất và chỉ số của số lớn nhất, số nhỏ nhất và chỉ số của số nhỏ nhất. Nhận định nào sau đây đúng hoặc sai?
a)Có thể nhập dãy số bằng lệnh s = input("Nhập các số nguyên cách nhau bởi dấu cách: ").
b)Có thể tạo danh sách số nguyên bằng A = [int(k) for k in s.split()].
c)Có thể tìm số lớn nhất và nhỏ nhất bằng max(A), min(A).
d)Muốn tìm số lớn nhất trong danh sách, bắt buộc phải sắp xếp danh sách theo thứ tự tăng dần.
Câu 7
(Câu 25.11 trang 53 SBT Tin học 10) Với danh sách A gồm các số nguyên đã nhập, cần xác định chỉ số của số lớn nhất và số nhỏ nhất. Nhận định nào sau đây đúng hoặc sai?
a)Có thể dùng imax = A.index(Max) để lấy chỉ số xuất hiện đầu tiên của giá trị lớn nhất.
b)Có thể dùng imin = A.index(Min) để lấy chỉ số xuất hiện đầu tiên của giá trị nhỏ nhất.
c)Có thể in danh sách A, giá trị Max, Min và các chỉ số tương ứng bằng lệnh print.
d)Lệnh A.index(Max) dùng để xoá giá trị lớn nhất khỏi danh sách A.
Câu 8
(Câu 25.12 trang 53 SBT Tin học 10) Cho trước xâu kí tự S và xâu substr. Viết đoạn chương trình tính số lần lặp của xâu con substr trong xâu S, cho phép chồng lấn của các xâu con này. Ví dụ nếu S = "1212133212143212", substr = "121" thì số lần lặp là 4. Nhận định nào sau đây đúng hoặc sai?
a)Có thể khởi tạo count = 0 để đếm số lần xuất hiện của substr.
b)Có thể khởi tạo k = 0 để bắt đầu tìm kiếm từ đầu xâu S.
c)Trong vòng lặp, nếu S.find(substr, k) >= 0 thì tìm thấy một lần xuất hiện của substr.
d)Vì cho phép chồng lấn nên sau mỗi lần tìm thấy, cần tăng k lên bằng độ dài của substr.
Câu 9
(Câu 25.12 trang 53 SBT Tin học 10) Về cách đếm số lần xuất hiện của xâu con substr trong xâu S khi cho phép chồng lấn, nhận định nào sau đây đúng hoặc sai?
a)Sau mỗi lần tìm thấy substr, cần tăng count thêm 1.
b)Có thể cập nhật k = S.find(substr, k) + 1 để tiếp tục tìm từ vị trí ngay sau vị trí bắt đầu lần tìm thấy trước đó.
c)Khi S.find(substr, k) trả về -1 thì không còn tìm thấy substr từ vị trí k trở đi.
d)Nếu cho phép chồng lấn, sau khi tìm thấy substr thì phải xoá substr khỏi S.