Giải Tin học 10 Bài 24: Xâu kí tự
Khởi động
>>> s = “Thời khoá biểu”
>>> xau = ‘Hoa học trò’
>>> Cau_tho = “““ Mình về mình có nhớ ta
Mười lăm năm ấy thiết tha mặn nồng”””
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?
Trả lời:
Tương tự như danh sách, ta có thể truy cập từng kí tự của xâu thông qua chỉ số.
1. Xâu là một dãy các kí tự
Hoạt động
Hoạt động 1 trang 119 Tin học 10: Tìm hiểu cấu trúc của xâu kí tự
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)
Trả lời:
- Cấu trúc xâu kí tự: xâu kí tự trong Python là dãy các kí tự Unicode.
- So sánh với danh sách:
+ Giống: Xâu có thể coi là một danh sách các kí tự, có thể truy cập từng kí tự xâu qua chỉ số, chỉ số từ 0 đến độ dài len() – 1
+ Khác: Không thể thay đổi từng kí tự của xâu.
Câu hỏi
Câu hỏi 1 trang 120 Tin học 10: Các xau kí tự sau có hợp lệ không?
a) “123&*( )+-ABC” b) “1010110&0101001”
c) “Tây Nguyên” d) 11111111 = 256
Trả lời:
Xâu kí tự a, b, c là hợp lệ.
Xâu không hợp lệ là xâu d vì không có dấu nháy ngoài xâu.
Câu hỏi 2 trang 120 Tin học 10: Mỗi xâu hợp lệ ở Câu 1 có độ dài bằng bao nhiêu?
Trả lời:
Độ dài của xâu lần lượt là: 12, 15, 10.
2. Lệnh duyệt kí tự của xâu
Hoạt động
Hoạt động 2 trang 120 Tin học 10: Tìm hiểu lệnh duyệt từng kí tự của xâ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ự.
Trả lời:
- 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].
- 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 kxi tự của xâu s từ đầu đến cuối.
Câu hỏi
Câu hỏi 1 trang 121 Tin học 10: Sau khi thực hiện các lệnh sau, biến skq sẽ có giá trị bao nhiêu?
>>> s = “81723”
>>> skq = “ ”
>>> for ch in s:
if int(ch) % 2 ! = 0:
skq = skq + ch
Trả lời:
skq=”173”
a) s1 in s2 b) s1 + s1 in s2
c) “abcabca” in s2 d) “abc123” in s2
Trả lời:
a) Đúng vì s1 là xâu con của s
b) s1+s1=”abcabc” là xâu con của s2 => s1+s1 in s2 đúng
c) “abcabca” in s2 => đúng vì abcabca là xâu con của s2
d) Sai. Vì “abc123” là con của s2
Luyện tập
Trả lời:
S=” “
for i in range(0,3):
s=s+s[i]
print(s)
Trả lời:
S=input(“nhập xâu kí tự:”)
for ch in S:
if ch>=0 and ch<10
print (“S có chứa chữ số”)
else:
print (“S không có chứa chữ số”)
Vận dụng
Trả lời:
S1=input(“nhập xâu kí tự:”)
S2=input(“nhập xâu kí tự:”)
S2.insert((len(S2)//2),S1)
print(S2)
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.
Trả lời:
n=int(input(“nhập số học sinh:”)
ds_lop=[ ]
S=”Huong”
Dem=0
for i in range(n)
hoten=input(“nhập họ tên học sinh thứ”+str(i+1)+ “:”)
ds_lop.append(hoten)
if S in ds_lop:
dem=dem+1
print(“có”,dem,”bạn tên Hương”)
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:
Bài 22: Kiểu dữ liệu danh sách
Bài 23: Một số lệnh làm việc với dữ liệu danh sách