2017-02-19 4 views
0

저는 텍스트 파일로 모든 소수를 인쇄하는 python 스크립트가 있습니다. 필자는 필자가 작성한 스크립트를 사용하여 목록에서 벗어나기를 원했기 때문에 기본적으로 마지막 줄의 내용을 변수로 사용합니다..txt 파일 줄의 내용을 python3 변수에 대한 입력으로 사용합니다.

def calc(): 
    while True: 
     x = 245747 
     y = (100**100)**100 
     for n in range (x,y): 
      if all(n%i!=0 for i in range (2,n)): 
       a=[] 
       a.append(n) 
       fo = open('primes.txt', 'a+') 
       print(n) 
       print ("", file = fo) 
       print ((a), file = fo) 
       fo.close 
     s = input('To do another calculation input yes, to quit input anything else...') 
     if s == 'yes': 
      continue 
     else: 
      break 
calc() 

내가 입력으로 마지막 줄에가 있어야 primes.txt 의 마지막 줄을 얻을 수있는 변수 x를 싶다 "[245747]을"는 경우 : 여기

내 현재 스크립트입니다 가장 큰 소수는 245747입니다.

어떻게 구현할 수 있습니까? 감사!

답변

0

당신은 사용 readlines 메쏘드를하고 목록의 마지막 항목을 얻을 수 있습니다 :

file = open("primes.txt", "r").readlines() 
x = file[len(file)-1] 

나는이 일을한다고 생각합니다. 스플릿 또는 이와 유사한 2 "["및 "]"을 제거 할 수 있습니다.

+0

기호 만 있습니다. "["및 "]"는 숫자의 대괄호로 텍스트 파일에 있습니다. 리스트의 마지막 항목은 int가 아닌 str로 간주됩니다 ... – BenjiMan

+0

'file [len (file) -1]'은'file [-1]' –