2016-07-21 6 views
-3

Ich bin völlig neu zu programmieren. Ich versuche zu verschachteln, was ich für eine "for-Schleife" innerhalb dessen halte, was ich für eine "for-Schleife" halte. Jedes Mal, wenn ich das Programm starte, erhalte ich einen Fehler: "Es liegt ein Fehler in Ihrem Programm vor: unerwartet unerwartet". Ich habe wirklich keine Ahnung, wie ich es beheben kann. Jede Hilfe würde sehr geschätzt werden. Hier ist der Code:Verschachtelte For-Loop-Fehler 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

Wenn dies der genaue Code ist, den Sie verwenden, müssen Sie 'except' Block einrücken, um mit' try' Block übereinzustimmen. – Lafexlos

+0

Ihre Funktion ist ebenfalls doppelt aufgeführt, es sei denn, Sie möchten dies. Ihr Code kann wahrscheinlich komprimiert werden –

Antwort

0

In Ihrem Code, haben Sie zwei try-Blöcke und eine Ausnahme. Die Einrückung des Ausnahmeblocks stimmt nicht mit einem der Testblöcke überein. Außerdem haben Sie innerhalb der gegebenen Funktion die gleiche Funktion definiert! Dein Code ist überall zu finden. Entfernen Sie den inneren Funktionsblock und ersetzen Sie ihn durch einen Aufruf der Funktion, wenn Sie das brauchen und beheben Sie die Blöcke try und except.

+0

Vielen Dank, dass der Fehler behoben wurde !!!! –