Khi cần đếm số lần xuất hiện của ký tự trong chuỗi dùng đệ quy, định nghĩa phương thức và dùng điều kiện 'if'.
Đệ quy tính toán kết quả của các phần nhỏ của bài toán lớn, kết hợp để cho ra giải pháp.
Ví dụ
def check_frequency(my_str, my_ch):
if not my_str:
return 0
elif my_str[0] == my_ch:
return 1 + check_frequency(my_str[1:], my_ch)
else:
return check_frequency(my_str[1:], my_ch)
my_string = input("Nhập chuỗi: ")
my_char = input("Nhập ký tự cần kiểm tra: ")
print("Tần suất của " + str(my_char) + " là: ")
print(check_frequency(my_string, my_char))
Đầu ra
Nhập chuỗi: jaanea Nhập ký tự cần kiểm tra: a Tần suất của a là: 3
Giải thích
- Định nghĩa phương thức 'check_frequency' nhận chuỗi và ký tự.
- Kiểm tra ký tự trong chuỗi khớp với ký tự truyền vào.
- Nếu khớp, trả về 1 + gọi đệ quy trên phần còn lại.
- Ngược lại gọi đệ quy trên phần còn lại.
- Nhập chuỗi và ký tự từ người dùng.
- Gọi phương thức với các giá trị này.
- Hiển thị đầu ra.