데이터 분석
실습 Palindrome 테스트
temporubato108
2024. 8. 26. 10:37
palindrome코드
import string
def is_palindrome(text):
text = ''.join(text.lower().split())
for char in string.punctuation: #특수문자를 하나씩 불러와
text = text.replace(char, "") #replace를 사용하여 삭제해준다.
if text == "":
return True #이 함수는 공백문자도 회문으로 포함하도록 설계되었다.
if text[0] != text[-1]:
return False
return is_palindrome(text[1:-1])
palindrome 테스트 코드
from helper import is_palindrome
# 다양한 예시에 대해 함수를 테스트합니다.
def test_is_palindrome(is_palindrome):
# 문자열 "madam"에 대해 테스트합니다. 리턴값은 True여야 합니다.
assert(is_palindrome("madam") == True)
# 아래 assert 안의 False들을 지우고 코드를 작성하면 됩니다.
# 올바른 리턴값은 문제 설명의 함수 설계를 보고 생각해 보세요.
# 문자열 "adam"에 대해 테스트합니다.
assert(is_palindrome("adam") == False)
# 빈 문자열에 대해 테스트합니다.
assert(is_palindrome("") == True)
# 문자열 "Step on no pets"에 대해 테스트합니다.
assert(is_palindrome("Step on no pets") == True)
# 문자열 "Madam, I'm Adam"에 대해 테스트합니다.
assert(is_palindrome("Madam, I'm Adam") == True)
# 문자열 "소주 만 병만 주소"에 대해 테스트합니다.
assert(is_palindrome("소주 만 병만 주소") == True)
# 문자열 "!소주 만 병만 주소?"에 대해 테스트합니다.
assert(is_palindrome("!소주 만 병만 주소?") == True)
# 문자열 "소주 만 병쯤만 주소"에 대해 테스트합니다.
assert(is_palindrome("소주 만 병쯤만 주소") == False)
test_is_palindrome(is_palindrome)