20210115 TIL
'''
palindrom (회문)
단어를 거꾸로 읽어도 제대로 읽는 것과 같은 단어 또는 문장
예) level, sos, rotator, 'nurses run'
기준이 필요 ( 중앙을 기준으로 해서 첫 글자와 마지막 글자를 비교 )
반복문
// - 몫을 취하는 연산자
'''
str = 'jslim9413'
idx = len(str) // 2 # 중앙값 찾기
print(str[idx])
def isPalindrom() :
isFlag = True
word = input('회문 검사를 위한 단어를 입력하세요 :')
for idx in range(len(word) // 2) :
if word[idx] != word[-1 - idx] :
isFlag = False # 같지 않으면 False
break
return isFlag
def reversedPalindrom() :
word = input('회문 검사를 위한 단어를 입력하세요 : ')
print( type(reversed(word)) , reversed(word))
print( list(word) , list(reversed(word)))
print(list(word) == list(reversed(word)))
# palindrom_word.txt 팡리의 단어를 읽어서 회문인 단어만 출력?
def palindromFile() :
with open(file = './word/palindrome_words.txt', mode='r', encoding='utf-8') as file :
for line in file :
line = line.strip('\n')
if line == line[::-1] :
print(line)
# 특정 문자열에서 N - gram 개의 연속된 요소를 추출한다면?
# 자연어처리
# hello -> 2 n gram -> he / el / ll / lo
text = 'hello'
for idx in range(len(text) - 1) :
# print('idx - ', idx)
print(text[idx], text[idx+1], sep='')
# 문장이 입력됐을 때, 2n gram 을 한다면?
text = 'this is python script'
textList = text.split()
print(textList)
print( type(textList))
for idx in range(len(textList) - 1) :
# print('idx - ', idx)
print(textList[idx], textList[idx+1])
# zip() 함수
num = [1, 2, 3, 4]
name = ['hong', 'gil', 'dong', 'guy']
dic = {}
for key, value in zip(num, name) : # 튜플형식으로 넘겨주는데
dic[key] = value # 보통 이것처럼 dict 형식으로 key-value 식으로 많이 활용된다.
print(dic)
'''
input 함수를 이용해서 문자열을 입력받고
예시 ) python is a programming language that lets your work quickly
input 함수를 이용해서 gram의 숫자를 입력받는다. 예) 2
입력된 숫자에 해당하는 단어 N-gram을 튜플 형식으로 출력하는 함수
만일 입력된 문자열의 단어 갯수가 입력된 정수 미만이라면 예외를 발생시킨다.
'''
def zipNgram() :
text = input('문자열을 입력하세요 : ')
gram = int(input('N-gram 숫자를 입력하세요 : '))
textList = text.split()
# for idx in range(len(textList) - gram + 1) :
# print(textList[idx:idx+gram])
# 만일 zip함수를 이용하게 된다면?
ngram = zip(*[ textList[idx:] for idx in range(gram)])
# print(list(ngram))
for idx in ngram :
print(idx)
'AI' 카테고리의 다른 글
[AI] Image generator (0) | 2021.05.22 |
---|---|
[K-digital] 프로젝트형 AI 서비스 개발 교육 Day 9 (0) | 2021.01.14 |
[K-digital] 프로젝트형 AI 서비스 개발 교육 Day 8 (0) | 2021.01.13 |
[K-digital] 프로젝트형 AI 서비스 개발 교육 Day 7 (0) | 2021.01.13 |
[K-digital] 프로젝트형 AI 서비스 개발 교육 Day 6 (0) | 2021.01.11 |