Giải SBT Tin 10 KNTT Bài 32. Ôn tập lập trình Python có đáp án

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 và một xâu mẫu str.

3/10

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 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.

0/3000 ký tự
Giải thích

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)

Media VietJack