2017-05-25 5 views
-1

Ich habe einen Python-Skript, das in etwa wie folgt funktioniert:Wie kann ich dieses Skript effizienter machen?

def callAPI(): 
    #call the API here and get a response 
    return APIResponseValue 

do while callAPI() > 5: 
    if callAPI() = 2: 
     #do something   
do while callAPI() < 5: 
    #do something else here 

Inside the do while-Anweisung, ich den Wert von callAPI erhalten möchte. Wie bekomme ich diesen Wert, ohne den API-Aufruf erneut auszuführen, wie ich es oben getan habe? Die einzige Möglichkeit, wie ich diesen Wert erhalten könnte, wäre, etwas wie "value = callAPI()" in die do while-Anweisung einzufügen. Danke für die Hilfe. Ich lerne natürlich immer noch.

+2

In Python gibt es kein "do while". – user2357112

+2

typischerweise ein Fall für 'while True:'. Aber deine Syntax ist ausgeschaltet. Holen Sie den Wert in der Endlosschleife und brechen Sie wenn> 5. Sie müssen nicht mehr als einmal berechnen. –

+0

guter Punkt. Ich schrieb das schnell im Texteditor und überprüfte es nicht. Es ist korrekt in meinem Code. – Randy

Antwort

1

Etwas wie folgt aus:

apiResult = callAPI() 

while apiResult > 5: 
    if apiResult == 2: 
     #do something   
    apiResult = callAPI() 

while apiResult < 5: 
    #do something else here 
    apiResult = callAPI() 

Bitte beachten Sie, dass Sie die Variable zuweisen, bevor die erste Schleife starten, und rufen Sie die „callAPI()“ Funktion wieder am Ende jeder Schleife.

Verwandte Themen