파이썬 프로그래밍 or와 and에 대하여. 회문(palindrome, 팰린드롬) 문제.

2024. 3. 22. 17:41카테고리 없음

반응형

 

 

기본적인 개념은 알겠지만.. 팰린드롬을 푸는 문제에서 공백이나 반점, 점이 없을 때 어떻게 해결해야 할까?

 

회문 : 위키백과 검색

 

여기서 Madam, I'm Adam. 이라는 문제를 보자.

 

여기서 불필요한 , ' . 이런 것들은 없애야 한다 그러면 구문적으로 코드를 풀면 ,이거나 '이거나 .이면 pass, 이것이 안들어가있으면 문자를 넣는 코딩을 한다.

 

하지만 '이거나' 라는 단어 때문에 or를 붙인다. 하지만 프로그래밍에서는 and를 해야 한다. 저것 중에 하나만 아니여도 False를 반환해야 하기 때문이다.

 

구문적으로 생각하더라도 프로그래밍 적으로 한 번 더 생각하고 행동하자.

 

sentence = "Madam, I'm Adam."
palindrome = ''
for i in sentence:
    if i != ' ' or i != '.' or i != "'" or i != ",":
        palindrome += i

print(palindrome)

or을 썼을 때 결과. 내가 생각 했을 때는 or니까 이거나 이거나 라는 말을 되뇌일텐데 이것이 아니다.

 

sentence = "Madam, I'm Adam."
palindrome = ''
for i in sentence:
    if i != ' ' and i != '.' and i != "'" and i != ",":
        palindrome += i

print(palindrome)

 

728x90