-
회문 판별과 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