palindrome(회문)
순서를 역으로 해도 동일한 단어, 숫자, 문장을 나타내는 객체첫번째와 마지막 원소가 동일
안쪽으로 하나씩 좁혔을 때 동일함
palindrome을 판단하기 위한 프로그램
def isPalindromeS(x):
target=str(x)
is_palindrome=True
for i in range(len(target)//2):
if target[i] != target[-1 -i]:
is_palindrome=False
break
return(is_palindrome)
x=[121, "level", 12314]
[isPalindromeS(i) for i in x]
[True, True, False]
target=str(x)
is_palindrome=True
for i in range(len(target)//2):
if target[i] != target[-1 -i]:
is_palindrome=False
break
return(is_palindrome)
x=[121, "level", 12314]
[isPalindromeS(i) for i in x]
[True, True, False]
지정한 범위에서 palindrome를 발견
re=np.array([])
for i in range(10, 1001):
if isPalindromeS(i):
re=np.append(re, i)
re
array([ 11., 22., 33., 44., 55., 66., 77., 88., 99., 101., 111.,
121., 131., 141., 151., 161., 171., 181., 191., 202., 212., 222.,
232., 242., 252., 262., 272., 282., 292., 303., 313., 323., 333.,
343., 353., 363., 373., 383., 393., 404., 414., 424., 434., 444.,
454., 464., 474., 484., 494., 505., 515., 525., 535., 545., 555.,
565., 575., 585., 595., 606., 616., 626., 636., 646., 656., 666.,
676., 686., 696., 707., 717., 727., 737., 747., 757., 767., 777.,
787., 797., 808., 818., 828., 838., 848., 858., 868., 878., 888.,
898., 909., 919., 929., 939., 949., 959., 969., 979., 989., 999.])
for i in range(10, 1001):
if isPalindromeS(i):
re=np.append(re, i)
re
array([ 11., 22., 33., 44., 55., 66., 77., 88., 99., 101., 111.,
121., 131., 141., 151., 161., 171., 181., 191., 202., 212., 222.,
232., 242., 252., 262., 272., 282., 292., 303., 313., 323., 333.,
343., 353., 363., 373., 383., 393., 404., 414., 424., 434., 444.,
454., 464., 474., 484., 494., 505., 515., 525., 535., 545., 555.,
565., 575., 585., 595., 606., 616., 626., 636., 646., 656., 666.,
676., 686., 696., 707., 717., 727., 737., 747., 757., 767., 777.,
787., 797., 808., 818., 828., 838., 848., 858., 868., 878., 888.,
898., 909., 919., 929., 939., 949., 959., 969., 979., 989., 999.])
댓글
댓글 쓰기