Bài toán đếm số lần lặp của một mẫu xâu trong xâu gốc như sau: Cho trước xâu gốc S

587

Với giải Câu 32.3 trang 66 SBT Tin học lớp 10 Kết nối tri thức chi tiết trong Bài 32: Ôn tập lập trình Python giúp học sinh dễ dàng xem và so sánh lời giải từ đó biết cách làm bài tập trong SBT Tin học 10. Mời các bạn đón xem:

Giải sách bài tập Tin học lớp 10 Bài 32: Ôn tập lập trình Python

Câu 32.3 trang 66 SBT Tin học 10Bài toán đếm số lần lặp của một mẫu xâu trong xâu gốc như sau: Cho trước xâu gốc S và một xâu mẫu str. Yêu cầu cần tìm số lần lặp của xâu mẫu str trong xâu gốc S. Có hai kiểu tìm số lần lặp:

1 – Tìm số lần lặp xâu con có thể chồng lấn lên nhau.

2 – Tìm số lần lặp không chồng lấn của xâu con.

Ví dụ nếu xâu gốc là "12121341212100", xâu con mẫu là "121" thì:

- Số lần lặp có chồng lấn của str trong S là 4 lần.

- Số lần lặp không chồng lấn của str trong S là 2 lần.

Bài toán như sau: Cho trước các xâu kí tự S và str, hãy tìm số lần lặp không chồng lấn của xâu str trong xâu S.

Trả lời:

Chương trình có thể viết như sau:

S = "12121341212100"

str = "121"

n = len(S)

m = len(str)

count = 0

k = 0

Indx = 0

while k <= n-m and Indx >= 0:

Indx = S.find(str, k)

if Indx >= 0:

count = count + 1

k = Indx + m

print(count)

Sách bài tập Tin học 10 Bài 32 (Kết nối tri thức): Ôn tập lập tình Python (ảnh 1)

Đánh giá

0

0 đánh giá