def preprocess_paragraph(paragraph) : index = 0 paragraph_temp = "".join(paragraph) paragraph = [] while 1 : seperator = dict_match("pre_process_dict.txt", paragraph_temp) seperator = "".join(seperator) index = paragraph_temp.find(seperator) if index == -1: return 0 else : sliced_result = "".join(paragraph_temp[0:index +len(seperator)]) paragraph.append(sliced_result) paragraph_temp = paragraph_temp[index + len(seperator) :-1] if len(paragraph_temp) < 5: return paragraph continue return 1 raw_text = "가상화폐 ‘대장주’ 비트코인 가격이 6500만원에 달하는 등 가상화폐 가격이 고공행진을 이어가는 가운데 내년부터 가상화폐를 통한 수익에 세금이 매겨진다는 사실도 알아둬야 한다. 가상자산 거래로 소득이 생겨 세금을 납부해야 하는 사람은 매년 5월 중 직전 1년 치 투자 소득을 반드시 신고해야 한다.22일 기획재정부에 따르면 정부는 내년부터 가상자산을 양도하거나 대여해 발생한 소득을 기타소득으로 분류해 20%의 세율로 분리과세한다..." print(preprocess_paragraph(raw_text), end = "!!") 일단 코드는 이렇습니다. 문제가 되는건 반복문 안에서 paragraph_temp.find() 구문이 제대로 찾지를 못한다는거...자꾸 -1(에러)를 뱉어서 정의한 대로 돌아가질 않아요...뭐가 문제인지 알려주실 분 계신가요? 저기서 seperator는 "다." 입니다.
1.1K
1
0
피토니·2021-02-27
아래와 같이 seperator에 "다."를 넣으면 정상적으로 동작하는 것 같습니다.
def preprocess_paragraph(paragraph) :
index = 0
paragraph_temp = "".join(paragraph)
paragraph = []
while 1 :
seperator = "다."
...
def dict_match(filename, target_str ) : dict_file = open(filename, "r", encoding= 'utf-8') target_dict = dict_file.read() target_dict = target_dict.split('\n') index = 0 while index < 3: target = target_dict[index] if target_str.rfind(target) != -1: return target else: index += 1 #main process str_file = open("string.txt", "r", encoding= 'utf-8' ) target_str = str_file.readline() print(dict_match("dict.txt", 'target_str')) 아래가 간이 코드입니다. a = '우리가 수식관계를 활용한다는 것은 ' b = ['할것이다', '한다는 것은', '하고싶다'] index = 0 while index < 3: c = b[index] if a.rfind(c) != -1: print(c) break else: index += 1 아래거는 원하는 대로 '한다는 것은'이 출력되고, 위는 아무것도 뱉질 않는데... 그리고 위 쪽 코드의 str.txt는 아래의 a의 내용이 들어가 있고, dict.txt는 아래쪽의 b의 내용이 들어가 있어요
1.1K
2
0
닥터핸·2021-02-18
아래 코드를 보시면 변수가 들어가야 할 위치에 문자열이 들어간 것 같습니다.
print(dict_match("dict.txt", 'target_str')) # 'target_str' 문자열 따옴표가 들어감
다음과 같이 수정해 보시기 바랍니다.
print(dict_match("dict.txt", target_str)) # 따옴표 없이 target_s...