Chúng ta đã biết phương thức count() sẽ tính số lần lặp không chồng lấn của một xâu con
Chúng ta đã biết phương thức count() sẽ tính số lần lặp không chồng lấn của một xâu con trong xâu mẹ (nếu không có thì trả về 0). Ví dụ: xâu con “aba” sẽ lặp không chồng lấn trong xâu “abababacdaba” 3 lần.
Sách bài tập Tin học 11 Bài 29: Thực hành thiết kế chương trình theo mô đun - Kết nối tri thức
Câu 29.4 trang 83 SBT Tin học 11: Chúng ta đã biết phương thức count() sẽ tính số lần lặp không chồng lấn của một xâu con trong xâu mẹ (nếu không có thì trả về 0). Ví dụ: xâu con “aba” sẽ lặp không chồng lấn trong xâu “abababacdaba” 3 lần.
>>> Str = "abababacdaba"
>>> sub = "aba"
>>> Str.count(sub)
3
Nhưng nếu tính theo cách có chồng lấn thì xâu con sub sẽ lặp 4 lần trong xâu mę Str.
Bài toán: Dữ liệu đầu vào được cho trong tệp văn bản String.inp có dạng sau: – Dòng đầu tiên ghi xâu con sub.
− n dòng tiếp theo, mỗi dòng là một xâu kí tự bất kì.
Kết quả được lưu trong tệp String.out bao gồm n dòng, mỗi dòng tương ứng là kết quả số lần lặp không chồng lấn của xâu con sub trong xâu tại dòng tương ứng.
Lời giải:
Hàm quan trọng nhất của chương trình là hàm scount(sub,Str) đếm số lần lặp không chồng lấn của xâu con sub trong xâu mẹ Str. Có rất nhiều cách viết hàm này, sau đây là một cách.
Lời giải sách bài tập Tin học 11 Bài 29: Thực hành thiết kế chương trình theo mô đun hay khác: