Giải bài tập Tin học lớp 10 Bài 25: Một số lệnh làm việc với xâu kí tự
Khởi động trang 123 Tin học lớp 10: 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 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.
Phương pháp giải:
Dựa vào kiến thức đã học
Trả lời:
Xâu c là xâu con của xâu m.
Vị trí của xâu c trong xâu m: 19
1. Xâu con và lệnh tìm vị trí xâu con
Hoạt động 1 trang 123 Tin học 10: 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ự.
Phương pháp giải:
Quan sát các ví dụ
Trả lời:
– 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.
<xâu 1> in <xâu 2>
– Lệnh find() tìm vị trí xuất hiện của một xâu trong một xâu khác.
<xâu mẹ>.find(<xâu con>, start)
Câu hỏi 1 trang 124 Tin học 10: Biểu thức logic sau là đúng hay sai?
Phương pháp giải:
Toán tử in dùng để kiểm tra một xâu có là xâu con của xâu khác không:
<xâu 1> in <xâu 2>
Trả lời:
Biểu thức trên sai vì xâu “010” không nằm trong xâu “001100”
Câu hỏi 2 trang 124 Tin học 10: Lệnh sau trả lại giá trị là gì?
Phương pháp giải:
Lệnh find() trả về vị trí của xâu con trong xâu mẹ
Trả lời:
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 trang 124 Tin học 10: 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().
Phương pháp giải:
Quan sát các ví dụ
Trả lời:
split(): tách xâu thành các từ và đưa vào một danh sách. Cú pháp lệnh split() là: <xâu mẹ>.split(<kí tự cách>)
join(): nối các phần tử của một danh sách thành một xâu. Cú pháp lệnh join() là: ”kí tự nối”.join()
Câu hỏi trang 125 Tin học 10: 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 để xóa các dấu “,” và thay thế bằng dấu ” ” trong xâu này.
Phương pháp giải:
Python có các lệnh để 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
Trả lời:
>>> s = “gà,vịt,chó,lợn,ngựa,cá”
>>> s = ” “.join(s.split(“,”))
Luyện tập (trang 126)
Luyện tập 1 trang 126 Tin học 10: 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.
Phương pháp giải:
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ử của danh sách này thành số và tính tổng.
Trả lời:
s=input(“Nhập dãy các số cách nhau bởi dấu cách: “)
A=s.split()
n=[]
for x in A:
n.append(float(x))
S=0
for i in n:
S=S+i
print(S)
Luyện tập 2 trang 126 Tin học 10: 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 đó.
Phương pháp giải:
Dựa vào kiến thức đã học để viết chương trình
Trả lời:
s=input(“Nhập họ tên: “)
A=s.split(” “)
print(“Tên: “, A[len(A)-1])
print(“Tên đệm: “, A[len(A)-2])
Vận dụng (trang 126)
Vận dụng 1 trang 126 Tin học 10: Viết chương trình nhập hai số tự nhiên từ bàn phím, cách nhau bởi dấu cách và đưa ra kết quả UCLN của hai số này.
Phương pháp giải:
Dựa vào kiến thức đã học để viết chương trình
Trả lời:
s=input(“Nhập hai số tự nhiên cách nhau bởi dấu cách: “)
A=s.split(” “)
a=int(A[0])
b=int(A[1])
r = a % b
while r != 0:
a = b
b = r
r = a % b
print(“ƯCLN của a và b là: “,b)
Vận dụng 2 trang 126 Tin học 10: Viết chương trình nhập số tự nhiên n rồi nhập n họ tên học sinh. Sau đó yêu cầu nhập một tên và thông báo số bạn có cùng tên trong lớp.
Phương pháp giải:
Dựa vào kiến thức đã học để viết chương trình
Trả lời:
n=int(input(“Nhập số tự nhiên n: “))
A=[]
t=0
for i in range(0,n):
A.append(input(“Nhập họ tên: “))
s=input(“Nhập một tên: “)
for i in range(0,n):
B=A[i].split()
if s == B[len(B)-1]:
t=t+1
print(“Vậy trong lớp có số bạn cùng tên đó là: “,t)
Xem thêm các bài giải SGK Tin học lớp 10 Kết nối tri thức hay, chi tiết khác:
Bài 24: Xâu kí tự
Bài 26: Hàm trong Python
Bài 27: Tham số của hàm
Bài 28: Phạm vi của biến