Giải Tin học 10 Bài 25: Một số lệnh làm việc với xâu kí tự
Khởi động
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.
Trả lời:
Xâu c là xâu con của xâu m vì “Trường Sơn” có trong trong xâu “Bước chân trên dải Trường Sơn”.
Vị trí của xâu c trong xâu m là từ kí tự 20 đến hết xâu.
1. Xâu con và lệnh tìm vị trí xâu con
Hoạt động
Hoạt động 1 trang 123 Tin học 10: 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ự.
Trả lời:
Để tìm một xâu trong 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ẹ.
Ví dụ:
Câu hỏi
Câu hỏi 1 trang 124 Tin học 10: Biểu thức lôgic sau là đúng hay sai?
>>> “010” in “001100”
Trả lời:
Biểu thức logic trên là sai vì “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ị gì?
>>> “ababababab”. find(“ab”,4)
Trả lời:
Lệnh trên trả về giá trị 4.
2. Một số lệnh thường dùng với xâu kí tự
Hoạt động
Hoạt động 2 trang 124 Tin học 10: 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( ).
Trả lời:
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ú pháp của lệnh split( ).
- Cú pháp của lệnh join( ) là:
“kí tự nối”.join()
Câu hỏi
Trả lời:
A= “gà,vit,chó,lợn,ngựa,cá”
” ”.join(A)
A.split(” ”)
Luyện tập
Trả lời:
s=input("Nhập dãy các số: ")
a=s.split() # Tách bỏ khoảng trắng trong dãy số, đưa vào list a
tong=0
for i in a:
x=float(i) #Chuyển từ xâu sang số thực
tong=tong+x
print(tong)
Trả lời:
s=input("Nhập họ tên người dùng: ")
a=s.split()
l=len(a)
b=[]
for i in range(l-1):b.append(a[i]) #Đưa phần họ đệm vào list b
hodem=" ".join(b) #Nối họ và chữ lót lại thành xâu
print("Họ đệm của người dùng là:",hodem)
print("Tên của người dùng là:",a[l-1])
Hình 1. Chương trình kham khảo
Hình 2. Kết quả chạy thử chương trình
Vận dụng
Trả lời:
s=input("Nhập 2 số tự nhiên cách nhau bởi dấu cách: ")
a=s.split() #Tách 2 số ra
x=int(a[0]) #Chuyển sang kiểu số nguyên
y=int(a[1])
while x!=y:
if x>y:x=x-y
else: y=y-x
print('UCLN là:',x)
Hình 1. Chương trình tìm UwCLN của hai số
Hình 2. Kết quả chạy thử chương trình
Trả lời:
n=int(input("Nhập số lượng HS:"))
ten=[]
for i in range(n):
s=input("Nhập họ tên HS thứ "+str(i+1)+":")
a=s.split()
l=len(a)
ten.append(a[l-1]) #Đưa tên các HS vào list ten
t=input("Nhập vào tên 1 HS:")
d=0
for i in ten:
if i==t: d=d+1 #Đếm số HS có cùng tên vừa nhập
print("Số HS có cùng tên",t,"là:",d)
Hình 1. Chương trình tìm số học sinh trùng tên
Hình 2. Kết quả chạy thử
Xem thêm lời giải bài tập SGK Tin học 10 Kết nối tri thức hay, chi tiết khác: