เราต้องการตรวจสอบว่าสตริงที่เรามีประกอบด้วยการซ้ำซ้อนของสตริงย่อยของสตริงนี้เท่านั้นหรือไม่ เพื่อตรวจสอบว่าเราสามารถตรวจสอบว่ามีการหมุนของสตริงในชุดค่าผสมของ 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