2017-10-06 2 views
0

저는 시작 프로그래머이며 과제에 어려움을 겪고 있습니다. 그래서 당신이 저를 도울 수 있기를 바랍니다. 내 할당은 다음과 같습니다 :텍스트 파일에서 문장을 제거하는 Python 3

표준 입력으로 입력 한 텍스트 파일에서 읽은 행의 마지막 3 단어를 화면에 표시하는 Python 프로그램을 작성하십시오. 텍스트 파일의 모든 행에 적어도 세 단어가 들어 있다고 가정합니다. 한 단어로만 적어도 하나의 문자를 고려하십시오.

은 입력 텍스트 파일입니다

Elizabeth it is in vain you say 
"Love not"—thou sayest it in so sweet a way: 
In vain those words from thee or L.E.L. 
Zantippe's talents had enforced so well: 
Ah! if that language from thy heart arise, 
Breath it less gently forth—and veil thine eyes. 
Endymion, recollect, when Luna tried 
To cure his love—was cured of all beside— 
His follie—pride—and passion—for he died. 

이 출력되어야한다 :

vain you say 
sweet a way 
l e l 
enforced so well 
thy heart arise 
veil thine eyes 
when luna tried 
of all beside 
for he died 

그러나, 나뿐만 아니라 모든 문장 부호를 제거하는 데 필요한있어 보인다. 그리고 이것이 내가 문제가되는 것입니다.

import sys 

def main(): 

    for item in sys.stdin: 
     item = item.split()[-3:] 
     string = ' '.join(item) 
     print (string) 

main() 
+0

입니다 : 그래서 여기 내 코드는? – Evan

+2

[Python의 문자열에서 구두점을 제거하는 가장 좋은 방법] 가능한 복제본 (https://stackoverflow.com/questions/265960/best-way-to-strip-punctuation-from-a-string-in-python) –

답변

0

이 작업을 수행하는 가장 좋은 방법은 당신이 문장을 제거하기 위해 노력했다 무엇 s.translate(None, string.punctuation)

+0

대안이 필요하다면 나는 하나를 기꺼이 제공 할 것이지만 아무도 내가 효율성 측면에서 두는 것은 없을 것입니다. –

관련 문제