ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 회문 판별과 N-gram 만들기
    Python 2023. 10. 11. 16:58
    회문 판별

    회문: 거꾸로 읽어도 제대로 읽은 것과 같은 단어와 문장 ex) level, sos... etc

    # 반복문으로 문자 검사
    word = input('단어 입력: ')
    
    is_palindrome = True
    for i in range(len(word) // 2):
        if word[i] != word[-1 - i]:
            is_palindrome = False
            break
    
    print(is_palindrome)
    
    # 실행 결과
    단어 입력: hello (입력)
    False
    단어 입력: level (입력)
    True
    N-gram 만들기

    N-gram: 문자열에서 N개의 연속된 요소를 추출하는 방법

    text = 'hello'
    
    # 2-gram이므로 문자열의 끝에서 한 글자 앞까지만 반복
    for i in range(len(text) - 1):
        print(text[i], text[i+1], sep='')    # 현재 문자와 그다음 문자 출력
        
    # 실행 결과
    he
    el
    ll
    lo
    # 동물 이름을 입력 받아 텍스트 파일로
    # 파일 이름은 animals.txt
    # 숫자 0000을 입력하면 중단
    while True:
        txt = input('동물 이름 입력: ')
        if txt != '0000':
            with open('animals.txt', 'a') as f:
                f.write(txt + '\n')
        else:
            break
     
    # 출력 결과
    동물 이름 입력: cat
    동물 이름 입력: dog
    동물 이름 입력: 0000

     

    연습 문제 예제

    # 27.5번 연습 문제: 파일에서 10자 이하인 단어 개수 세기
    with open('words.txt', 'r') as file:
        count = 0
        words = file.readlines()
        for word in words:
            if len(word.strip('\n')) <= 10:
                count += 1
    print(count)
    
    # 실행 결과
    4
    
    # 27.6번 심사 문제: 특정 문자가 들어있는 단어 찾기
    # 문자 c가 포함된 단어 출력 / 콤마와 점은 출력하지 않기
    with open('words2.txt', 'r') as file:
        words = file.readline().split()
        for word in words:
            if 'c' in word:
                print(word.strip(',.'))
                
    # 실행 결과
    dictator
    subjects
    change
    costume
    elegance
    accepted

    'Python' 카테고리의 다른 글

    위치 인수와 키워드 인수 사용  (0) 2023.10.16
    함수 사용  (0) 2023.10.16
    file  (0) 2023.10.11
    set  (0) 2023.10.11
    딕셔너리 응용  (0) 2023.10.10
Designed by Tistory.