Ở bài 16 các em đã làm quen với khái niệm về xâu kí tự, muốn đếm số kí tự hay trích xâu kí tự như thế nào? Hãy cùng DapAnHay tìm hiểu các vấn đề này qua nội dung của bài giảng Bài 24: Xâu kí tự dưới đây. Mời các em cùng tham khảo!
* Xâu và cách truy cập xâu
- Ví dụ 1. Xâu kí tự và cách truy cập đến từng xâu kí tự
+ Ta thấy lệnh len(s) đưa ra kết quả là 14 ⇒ Lệnh len() sẽ tính độ dài của xâu hay số lượng các kí tự có trong xâu
+ Khi thực hiện lệnh s(0) và s(10) sẽ đưa ra kết quả là 0 và 10. Như vậy, muốn truy cập từng kí tự của xâu thông qua chỉ số.
Một xâu kí tự được hiểu là một dãy các kí tự. Tương tự danh sách, ta có thể truy cập từng kí tự của xâu thông qua chỉ số, chỉ số bắt đầu từ 0.
* Sự khác nhau giữa sâu và danh sách
- Ví dụ 2. Quan sát các lệnh sau để thấy sự khác nhau giữa xâu và danh sách.
+ Qua ví dụ trên ta thấy không thể thay đổi từng kí tự của xâu, khi thực hiện thay đổi sẽ báo lỗi
+ Còn danh sách ta có thể thay đổi các phần tử trong danh như thêm, xóa, ....
- Python không cho phép thay đổi từng kí tự của một xâu. Điều này khác với danh sách.
- Python không có kiểu dữ liệu kí tự. Kí tự chính là xâu có độ dài 1.
- Xâu rỗng được định nghĩa như sau:
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. |
---|
- Quan sát ví dụ sau đây về cách duyệt kí tự của xâu
- Dựa trên ví dụ trên ta thấy, có hai cách duyệt kí tự của xâu
+ Cách thứ nhất biến i lần lượt chạy theo chỉ số của xâu kí tự s, từ 0 đến len (s) - 1. Kí tự tại chỉ số i là s[i] như ví dụ sau đây
+ 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ừ khoá in, tuỳ trường hợp cụ thể, hoặc là toán tử logic dùng để kiểm tra một 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 như sau:
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 |
---|
Bài tập 1: Có lệnh nào trích ra từng kí tự của một xâu kí tự? Đếm số kí tự của một xâu?
Hướng dẫn giải:
- Lệnh trích ra từng kí tự của một xâu kí tự: thông qua chỉ số, bắt đầu từ 0 giống danh sách.
- Đếm số kí tự của một xâu: lệnh len().
Bài tập 2: Cho trước xâu kí tự S, có cách nào để nhận được xâu bao gồm các kí tự lấy từ S nhưng với thứ tự ngược lại hay không? Ví dụ nếu S ="01ab" thì xâu nhận được phải là "ba10".
Hướng dẫn giải:
Có nhiều cách. Ví dụ:
S1 = ""
for ch in S:
S1 = ch + S1
hoặc có thể chỉ bằng một lệnh
S1 = S[: : -1]
Qua bài học các em cần nắm được các về:
- Hiểu được xâu kí tự là kiểu dữ liệu cơ bản của Python.
- Biết và thực hiện được lệnh for để xử lí xâu kí tự.
Các em có thể hệ thống lại nội dung kiến thức đã học được thông qua bài kiểm tra Trắc nghiệm Tin học 10 Kết nối tri thức Chủ đề 5 Bài 24 cực hay có đáp án và lời giải chi tiết.
Xâu rỗng là xâu có độ dài bằng bao nhiêu?
Để biết độ dài của xâu s ta dùng hàm gì?
Cho xâu s1=’ha noi’, xâu s2=’ha noi cua toi’. Khẳng định nào sau đây là đúng?
Câu 4-10: Mời các em đăng nhập xem tiếp nội dung và thi thử Online để củng cố kiến thức về bài học này nhé!
Các em có thể xem thêm phần hướng dẫn Giải bài tập Tin học 10 Kết nối tri thức Chủ đề 5 Bài 24để giúp các em nắm vững bài học và các phương pháp giải bài tập.
Khởi động trang 119 SGK Tin học 10 Kết nối tri thức - KNTT
Hoạt động 1 trang 119 SGK Tin học 10 Kết nối tri thức - KNTT
Câu hỏi mục 1 trang 120 SGK Tin học 10 Kết nối tri thức - KNTT
Hoạt động 2 trang 120 SGK Tin học 10 Kết nối tri thức - KNTT
Câu hỏi mục 2 trang 121 SGK Tin học 10 Kết nối tri thức - KNTT
Luyện tập trang 122 SGK Tin học 10 Kết nối tri thức - KNTT
Vận dụng trang 122 SGK Tin học 10 Kết nối tri thức - KNTT
Trong quá trình học tập nếu có thắc mắc hay cần trợ giúp gì thì các em hãy comment ở mục Hỏi đáp, Cộng đồng Tin học DapAnHay sẽ hỗ trợ cho các em một cách nhanh chóng!
Chúc các em học tập tốt và luôn đạt thành tích cao trong học tập!
-- Mod Tin Học 10 DapAnHay
Xâu rỗng là xâu có độ dài bằng bao nhiêu?
Để biết độ dài của xâu s ta dùng hàm gì?
Cho xâu s1=’ha noi’, xâu s2=’ha noi cua toi’. Khẳng định nào sau đây là đúng?
Cho xâu s1=’ab’, xâu s2=’a’ với cú pháp: s2 in s1 cho kết quả là gì?
Cho xâu st=’abc’, xâu st có độ dài là bao nhiêu?
Cho xâu s1=’abc’, xâu s2=’abc’. Khẳng định nào sau đây đúng.
Giả sử s = "Thời khóa biểu" thì len(s) bằng bao nhiêu?
Biểu thức logic "01" in "10101" sẽ trả về giá trị gì?
Nếu S = "1234567890" thì S[0:4] là gì?
Kết quả đoạn chương trình sau là gì?
S = "0123456789"
T = ""
for i in range(0, len(S), 2):
T = T + S [i]
print(T)
Em đã biết dữ liệu xâu kí tự (gọi tắt là xâu) từ bài 16 và chúng ta có thể tạo ra các biến kiểu xâu kí tự theo nhiều cách khác nhau như sau:
Liệu có lệnh nào trích ra từng kí tự của một xâu kí tự? Đếm số kí tự của một xâu?
Quan sát các ví dụ sau để biết cấu trúc xâu kí tự, so sánh với danh sách để biết sự khác nhau giữa xâu (string) và danh sách (list).
1. Các xâu kí tự sau có hợp lệ không?
a) “123&*()+-ABC”
b) “1010110&0101001”
c) “Tây Nguyên”
d) 11111111 = 256
2. Mỗi xâu hợp lệ ở Câu 1 có độ dài bằng bao nhiêu?
Quan sát các lệnh sau để biết cách duyệt từng kí tự của xâu kí tự bằng lệnh for. Có hai cách duyệt, theo chỉ số và theo phần tử của xâu kí tự.
1. Sau khi thực hiện các lệnh sau, biến skq sẽ có giá trị bao nhiêu?
2. Cho s1 = "abc", s2 = "ababcabca". Các biểu thức logic sau cho kết quả là đúng hay sai?
a) s1 in s2
b) s1 + s1 in s2
c) "abcabca" in s2
d) "abc123" in s2
1. Cho xâu S, viết đoạn lệnh trích ra xâu con của S bao gồm ba kí tự đầu tiên của S.
2. Viết chương trình kiểm tra xâu S có chữ số không. Thông báo "S có chứa chữ số" hoặc "S không chứa chữ số nào"
1. Cho hai xâu s1, s2. Viết đoạn chương trình chèn xâu s1 vào giữa s2, tại vị trí len(s2)//2. In kết quả ra màn hình.
2. Viết chương trình nhập số học sinh và họ tên học sinh. Sau đó đếm xem trong danh sách có bao nhiêu bạn tên là “Hương”.
Gợi ý: Sử dụng toán tử in để kiểm tra một xâu có là xâu con của một xâu khác.
Họ và tên
Tiêu đề câu hỏi
Nội dung câu hỏi
0 Bình luận
Để lại bình luận
Địa chỉ email của hạn sẽ không được công bố. Các trường bắt buộc được đánh dấu *