회문 정의
이 단계에서는 회문의 개념과 Python 을 사용하여 이를 식별하는 방법을 살펴보겠습니다. 회문은 단어, 구, 숫자 또는 뒤에서 앞으로 읽어도 동일한 다른 문자 시퀀스입니다. 예시로는 "madam", "racecar", "level" 등이 있습니다.
시작하기 위해, 회문이 무엇인지 정의하는 Python 스크립트를 만들어 보겠습니다.
-
LabEx 환경에서 VS Code 편집기를 엽니다.
-
~/project 디렉토리에 palindrome.py라는 새 파일을 만듭니다.
탐색기 패널 (일반적으로 왼쪽) 에서 마우스 오른쪽 버튼을 클릭하고 "New File"을 선택하여 새 파일을 만들 수 있습니다. 파일을 ~/project 디렉토리에 palindrome.py로 저장해야 합니다.
-
palindrome.py 파일에 다음 Python 코드를 추가합니다.
def is_palindrome(text):
processed_text = ''.join(text.lower().split())
return processed_text == processed_text[::-1]
## Example usage
word = "madam"
if is_palindrome(word):
print(f"'{word}' is a palindrome")
else:
print(f"'{word}' is not a palindrome")
이 코드를 자세히 살펴보겠습니다.
def is_palindrome(text):: 이 줄은 문자열 text를 입력으로 받는 is_palindrome이라는 함수를 정의합니다.
processed_text = ''.join(text.lower().split()): 이 줄은 회문 검사를 위해 입력 텍스트를 준비합니다. 먼저 .lower()를 사용하여 텍스트를 소문자로 변환한 다음, .split()을 사용하여 문자열을 단어 목록으로 분할하고, ''.join()을 사용하여 단어를 공백 없이 단일 문자열로 다시 결합하여 모든 공백을 제거합니다.
return processed_text == processed_text[::-1]: 이 줄은 처리된 텍스트를 뒤집힌 텍스트와 비교합니다. processed_text[::-1]은 문자열의 뒤집힌 복사본을 만듭니다. 처리된 텍스트가 뒤집힌 텍스트와 같으면 함수는 True를 반환합니다 (회문임). 그렇지 않으면 False를 반환합니다.
- 함수 정의 뒤의 줄은 예시 사용법입니다. "madam" 단어로
is_palindrome 함수를 호출하고 회문인지 아닌지를 출력합니다.
-
이제 스크립트를 실행해 보겠습니다. WebIDE 에서 터미널을 엽니다. 일반적으로 VS Code 인터페이스 하단에서 터미널 탭을 찾을 수 있거나, 메뉴: Terminal -> New Terminal 을 통해 새 터미널을 열 수 있습니다.
-
터미널에서 ~/project 디렉토리로 이동합니다 (아직 이동하지 않은 경우).
cd ~/project
-
Python 스크립트를 실행합니다.
python palindrome.py
-
다음 출력을 볼 수 있습니다.
'madam' is a palindrome
이것은 스크립트가 "madam"을 회문으로 올바르게 식별함을 확인합니다.