เราต้องการตรวจสอบว่าสตริงที่เรามีประกอบด้วยการซ้ำซ้อนของสตริงย่อยของสตริงนี้เท่านั้นหรือไม่ เพื่อตรวจสอบว่าเราสามารถตรวจสอบว่ามีการหมุนของสตริงในชุดค่าผสมของ 2 สตริงหรือไม่ นี่เป็นเพราะว่าสตริงเป็นแบบคาบก็ต่อเมื่อมีค่าเท่ากับการหมุนตัวมันเองที่ไม่สำคัญ
ตัวอย่าง
รหัสต่อไปนี้ตรวจสอบสิ่งนี้และส่งคืนตามนั้น:
def find_period(s): # Concatenate 2 s and find s within # index one to end of the string i = (s+s).find(s, 1, -1) return None if i == -1 else s[:i] print find_period('012012012012012') print find_period('some random string')
ผลลัพธ์
สิ่งนี้จะให้ผลลัพธ์แก่เรา:
012 None