2014-11-02 5 views
-2

안녕 내 임무는 다음과 같습니다.Python의 Palindrome 함수

palindrome = reverse는 그 자체와 같습니다.
"doggod"는 평범한 사람입니다.) 한 줄씩 파일을 스캔하고 그 안에있는 회문을 찾아 회문이있는 목록을 반환합니다.

def find_palidrome(word): 
    if len(word) < 1: 
     return True 
    else: 
     if word[0] == word[-1]: 
      return find_palidrome(word[1:-1]) 
     else: 
      return False 
def fileInput(alice.txt): 
    f = open(alice.txt,'r') 
    line = f.readline().strip() 
    while line != '': 
     if(find_palidrome(line)): 
      print(line) 
     else: 
      print("No palindromes found") 
     line = f.readline().strip() 
    file.close() 

그것의 작동 및 구문 오류가 무슨 잘못 IDK 말을 계속하지 :

이것은 내가 지금까지있는 것입니다.
누군가 도와 주실 수 있습니까 !! 감사! 파일을 읽을 수 다음

def is_palindrome(word): 
    return word == word[::-1] 

그리고 :

+2

파이썬은 들여 쓰기가 가능하다는 것을 알고 있습니까? 소스를 게시하지 못했거나 들여 쓰기 문제가 있습니다. – Aif

+0

오, 그래, 나는 그것이 게시해야한다고 망쳐 놓았다. shouldy said : – bobbobinson2321

+0

이것이 당신의 코드가 실제로 보이는 것이면 많은 문제가있는 것처럼 보인다. 게시물을 편집하여 편집기에서 코드가 어떻게 보이는지 확인하십시오. 게시물 수정 댓글에 게시물을 게시하지 마십시오. – IanAuld

답변

1

이 단어의 회문을 찾을 수있는 매우 간단한 방법이다 다른 사람들이 문제가 전달되지 않은 지적으로

def check_file(file_name): 
    with open(file_name, 'r') as f: 
     for line in f: 
      if is_palindrome(line): 
       print(line) 
      else: 
       print("No palindromes found") 

if __name__ == '__main__': 
    f_name = input('Enter a file path') 
    check_file(f_name) 

파일 이름을 문자열로 지정하십시오. 코드에서 나는 파일 이름을 input()에서 기본적으로 문자열로 입력했습니다. if __name == '__main__' 블록에있는 모든 것을 래핑하면 전체 스크립트를 실행하지 않고 이러한 기능을 다른 프로그램으로 가져올 수 있습니다.

+0

+1 (나에게 -1이 붙은 이유는 알 수 없음) 게시가 엉망입니다. 나는'file_name'의 기본값을 유지한다는 점만 제외하면 같은 코드를 사용했습니다. – Aif