Giải Tin học 10 – Bài 24. Xâu kí tự – KNTT

1. Xâu là một dãy các kí tự

Câu 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

Câu 2. Mỗi xâu hợp lệ ở Câu 1 có độ dài bằng bao nhiêu?

Câu 1: Xâu hợp lệ là a, b, c

Câu 2:
a) Độ dài bằng 12
b) Độ dài bằng 15
c) Độ dài bằng 10

2. Lệnh duyệt kí tự của xâu

Câu 1. 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

Câ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

Hướng dẫn giải:

Câu 1: Biến skq sẽ có giá trị là “173”

Câu 2: a) True, b) True, c) True, d) False

Luyện tập

Câu 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.

Câu 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”.

Hướng dẫn giải:

Câu 1: Chương trình

s1 = input("Mời nhập xâu: ")
s2 = ""
for i in range(3):
    s2 = s2 + s1[i]
print(s2)

Câu 2: Chương trình

s = input("Mời nhập xâu: ")
so = "0123456789"
kt = True; n = len(s); i = 0
while i<n and kt:
    if s[i] in so: kt = False
    i = i + 1
if kt: print("Xâu không chứa số")
else: print("Xâu chứa số")

Vận dụng

Câu 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.

Câu 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”.

Hướng dẫn giải:

Câu 1: Có nhiều cách, sau đây minh họa 2 cách

Cách 1: Sử dụng dạng lặp

s1 = input("Mời nhập xâu thứ 1: ")
s2 = input("Mời nhập xâu thứ 2: ")
s = ""; n = len(s2)//2
#Ghép đoạn đầu của s2
for i in range(0,n):
    s = s + s2[i]
#Ghép s1 vào xâu s
s = s + s1
#Ghép đoạn sau của s2
for i in range(n,len(s2)):
    s = s + s2[i]
print(s)

Cách 2: Sử dụng chỉ số để cắt xâu

s1 = input("Mời nhập xâu thứ 1: ")
s2 = input("Mời nhập xâu thứ 2: ")
#Lấy đoạn đầu s2 nối thêm s1 và nối thêm đoạn cuối s2
s2 = s2[:len(s2)//2] + s1 + s2[len(s2)//2:]
print(s)

Câu 2: Chương trình

n = int(input("Mời nhập số học sinh: "))
A = []
#Nhập danh sách họ tên học sinh trong lớp
for i in range(n):
hoten = input("Mời nhập tên học sinh thứ " + str(i+1) + ": ")
A.append(hoten)
#Đếm xem có bao nhiêu học sinh tên "Hương"
dem = 0
for ht in A:
if ht=="Hương": dem = dem + 1
print("Có",dem,"học sinh mang tên Hương trong lớp")

Xem thêm Bài 25. Một số lệnh làm việc với xâu kí tự

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *