Bài toán tìm kiếm xâu con trong một xâu là một trong những bài toán tin học được ứng dụng nhiều trong thực tế. Công cụ tìm kiếm thông tin trên Internet hay lệnh tìm kiếm trong soạn thảo văn bản được xây dựng trên cơ sở bài toán tìm xâu con.
Cho biết xâu c = “Trường Sơn” và xâu m = “Bước chân trên dải Trường Sơn”. Em hãy cho biết xâu c có là xâu con của xâu m không? Nếu có thì tìm vị trí của xâu c trong xâu m.
3
- Xâu c là xâu con của xâu m.
- Vị trí của xâu c trong xâu m là: 19
1. XÂU CON VÀ LỆNH TÌM VỊ TRÍ XÂU CON
4
Hoạt động 1 Một số lệnh tìm kiếm xâu con trong xâu kí tự
Quan sát các ví dụ sau để tìm hiểu cách kiểm tra xâu con và tìm kiếm vị trí xâu con trong xâu kí tự.
5
Ví dụ 1: Dùng toán tử in để kiểm tra một xâu có là xâu con của xâu khác không.
- Biểu thức kiểm tra <xâu 1> nằm trong <xâu 2> là:
<xâu 1> in <xâu 2>
Nếu đúng thì trả lại giá trị True, nếu sai trả lại giá trị False.
Ví dụ 2. Lệnh find() tìm vị trí xuất hiện của một xâu trong xâu khác.
- Một số lệnh đặc biệt dành riêng cho xâu kí tự (phương thức). Cách thực hiện phương thức là:
<xâu>.<phương thức>
- Cú pháp đơn của lệnh find ():
<xâu mẹ>.find (<xâu con>)
Lệnh sẽ tìm vị trí đầu tiên của xâu con trong xâu mẹ và trả về vị trí đó. Nếu không tìm thấy thì trả về -1.
- Cú pháp đầy đủ của lệnh find ():
<xâu mẹ>.find (<xâu con>, start)
Lệnh sẽ tìm xâu con bắt đầu từ vị trí start
Để tìm một xâu trong một xâu khác có thể dùng toán tử in hoặc lệnh find(). Lệnh find () trả về vị trí của xâu con trong xâu mẹ.
Câu hỏi (trang 122)
1. Biểu thức lôgic sau là đúng hay sai?
2. Lệnh sau trả lại giá trị là gì?
1. Biểu thức trên sai vì xâu “010” không nằm trong xâu “001100”
2. -Kết quả: 4
-Lệnh sẽ tìm vị trí xâu ''ab'' từ vị trí 4
2. MỘT SỐ LỆNH THƯỜNG DÙNG VỚI XÂU KÍ TỰ
Hoạt động 2 Một số lệnh thường dùng với xâu kí tự
Quan sát các ví dụ sau để biết cách sử dụng một số lệnh thường dùng với xâu kí tự như: split(), join().
Cú pháp của lệnh split():
<xâu mẹ>.split(<kí tự tách>)
14
Cú pháp của lệnh join():
“kí tự nối”.join(<danh sách>)
Python có các lệnh đặc biệt để xử lí xâu là split() dùng để tách xâu thành danh sách và lệnh join() dùng để nối danh sách các xâu thành một xâu.
Câu hỏi (trang 125)
Cho xâu kí tự: “gà, vịt, chó, lợn, ngựa, cá”. Em hãy trình bày cách làm để xoá các dấu '', '' và thay thế bằng dấu '' '' trong xâu này.
- Dùng lệnh split() để tách xâu thành các từ và đưa vào một danh sách:
- Lệnh join() sẽ nối các phần tử của danh sách trên bởi dấu “ ”:
Một số bài toán liên quan đến xâu kí tự.
Nhiệm vụ 1. Viết chương trình nhập nhiều số nguyên từ bàn phím, các số cách nhau bởi dấu cách. Khi nhập xong thông báo số lượng các số đã nhập và in các số này thành hàng ngang.
Hướng dẫn. Dữ liệu nhập vào là một xâu. Dùng lệnh split() để tách thành danh sách. Chuyển các phần tử danh sách này thành số và in ra màn hình.
Chương trình có thể như sau:
Nhiệm vụ 2. Viết chương trình nhập một xâu kí tự có thể có nhiều dấu cách giữa các từ. Sau đó chỉnh sửa xâu kí tự đó sao cho giữa các từ chỉ có một dấu cách. In xâu kết quả ra màn hình.
Hướng dẫn. Chuyển xâu kí tự ban đầu thành danh sách các từ đơn bằng lệnh split(), sau đó nối các từ đơn này bằng lệnh join().
Chương trình có thể như sau:
Nhiệm vụ 3. Viết chương trình nhập số tự nhiên n, rồi nhập họ tên của n học sinh. Sau đó in ra danh sách tên học sinh theo hai cột, cột 1 là tên, cột 2 là họ đệm.
Hướng dẫn. Họ tên ban đầu tách ra thành tên và họ đệm bằng lệnh split(). Các tên được đưa vào danh sách ten, các họ đệm được đưa vào danh sách hodem. Sau đó in ra danh sách theo yêu cầu.
Chương trình có thể như sau:
1. Viết chương trình nhập nhiều số (số nguyên hoặc số thực) từ bàn phím, các số cách nhau bởi dấu cách. Sau đó in ra màn hình tổng các số đã nhập.
2. Viết chương trình nhập họ tên đầy đủ của người dùng, sau đó in thông báo tên và họ đệm của người đó.
1. Chương trình có thể như sau:
2. Chương trình có thể như sau:
1. Xâu con và lệnh tìm vị trí xâu con
2. Một số lệnh thường dùng với xâu kí tự
Thực hành:
Nhiệm vụ 1
Nhiệm vụ 2
Nhiệm vụ 3
Luyện tập
1. Làm phần VẬN DỤNG (SGK trang 126)
2. Xem trước bài 26 (SGK trang 127)
Hàm trong Python
Các em làm 10 câu hỏi trắc nghiệm Online để củng cố bài.
1. Đăng nhập vào trang thaycai.net
2. Nháy chuột vào Học Online
3. Nháy chuột vào 2. Ôn bài vui nhộn tin học 10 – sách Kết nối tri thức
4. Nháy chuột vào 25. Trắc nghiệm: Bài 25-Một số lệnh làm việc với xâu kí tự.