2016-07-21 2 views
-3

전 프로그래밍에 완전히 익숙합니다. 나는 "for-loop"라고 생각하는 것을 "for-loop"라고 생각하는 것을 중첩하려고한다. 프로그램을 실행할 때마다 오류가 발생합니다 : "프로그램에 오류가 있습니다 : 예기치 않은 인출". 나는 정직하게 그것을 고치는 법을 모른다. 어떤 도움이라도 대단히 감사하겠습니다. 이 여기에 코드입니다 : 코드에서중첩 된 for-loop 오류 python

import urllib2 
 
import time 
 

 
stocksToPull = 'AAPL' 
 
    
 
def pullData(stock): 
 
    try: 
 
     pricedata = urllib2.urlopen("http://www.google.com/finance/getprices?i=60&p=1d&f=d,o,h,l,c,v&df=cpct&q="+stock+"").read() 
 

 
     pricevalues = pricedata.split() 
 
     current_price = float(pricevalues[len(pricevalues)-1].split(",")[4]) #High 
 

 
     pricevalues = pricedata.split() 
 
     Pcurrent_price = float(pricevalues[len(pricevalues)-1].split(",")[2]) #Open 
 

 
     DPCge= (current_price/Pcurrent_price)/Pcurrent_price #Daily Precent Change 
 

 
     number = 0.010000000000 
 
# This is the begging of the nested for-loop 
 
     if stock == 'AAPL' and DPCge> number: 
 
     \t for eachStock in stocksToPull: 
 
     \t \t stocksToPull = 'AAPL' 
 
     \t \t pullData(eachStock) 
 

 
\t \t \t def pullData(stock): 
 
     \t \t \t try: 
 
            pricedata = urllib2.urlopen("http://www.google.com/finance/getprices?i=60&p=1d&f=d,o,h,l,c,v&df=cpct&q="+stock+"").read() 
 

 
            pricevalues = pricedata.split() 
 
            current_price = float(pricevalues[len(pricevalues)-1].split(",")[4]) #High 
 

 
            pricevalues = pricedata.split() 
 
            Pcurrent_price = float(pricevalues[len(pricevalues)-1].split(",")[2]) #Open 
 

 
            DPCge= (current_price/Pcurrent_price)/Pcurrent_price #Daily Precent Change 
 

 
            number = 0.010000000000 
 

 
except Exception,e: 
 
    print'main loop',str(e) 
 

 
for eachStock in stocksToPull: 
 
    pullData(eachStock)

+1

사용중인 코드와 정확히 일치하면'except' 블록을 들여 쓰기하여'try' 블록과 일치시켜야합니다. – Lafexlos

+0

당신이 원하는 기능이 아니라면 함수가 두 번 나열됩니다. 귀하의 코드는 아마도 응축 될 수 있습니다 –

답변

0

, 두 시도 블록과를 제외하고 하나가 있습니다. except 블록의 들여 쓰기는 try 블록 중 하나와 정렬되지 않습니다. 게다가 주어진 함수 내에서 같은 함수를 정의했습니다! 코드가 여기 저기에 있습니다. 내부 함수 블록을 제거하고 필요한 경우 함수 호출로 바꾸고 try 블록과 except 블록을 수정하십시오.

+0

오류를 고쳐 주셔서 감사합니다 !!!! –