Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรม Python นับความถี่ตัวอักษรในสตริงแบบ Recursive


เมื่อต้องการตรวจสอบจำนวนครั้งที่ตัวอักษรที่กำหนดปรากฏในสตริงโดยใช้ Recursion สามารถกำหนดเมธอดและใช้เงื่อนไข 'if' ได้

Recursion คำนวณผลลัพธ์ของส่วนเล็กๆ ของปัญหาใหญ่ และรวมส่วนเหล่านี้เพื่อให้คำตอบของปัญหาใหญ่

ตัวอย่าง

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("Enter the string :")
my_char = input("Enter the character that needs to be checked :")
print("The frequency of " + str(my_char) + " is :")
print(check_frequency(my_string, my_char))

ผลลัพธ์

Enter the string : jaanea
Enter the character that needs to be checked : a
The frequency of a is : 3

คำอธิบาย

  • กำหนดเมธอด 'check_frequency' รับสตริงและตัวอักษรเป็นพารามิเตอร์
  • ตรวจสอบว่าตัวอักษรในสตริงตรงกับตัวอักษรที่ส่งเข้ามาหรือไม่
  • หากใช่ ให้คืนค่า
  • มิฉะนั้น เรียกเมธอดซ้ำบนตัวอักษรทั้งหมดของสตริง
  • รับสตริงและตัวอักษรจากผู้ใช้
  • เรียกเมธอดโดยส่งค่าเหล่านี้เป็นพารามิเตอร์
  • แสดงผลบนคอนโซล