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

ฉันจะรู้ได้อย่างไรว่าสตริงซ้ำตัวเองใน Python?


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