Computer >> 컴퓨터 >  >> 프로그램 작성 >> 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