2016-04-03 37 views
1

我試圖做一個功能,我有三個不同的層次;高響應時間,低響應時間和確定的響應時間。對於最後一個,它應該是兩個值之間的間隔,例如在1到1.5秒之間。我能用try except格式的if-queries解決嗎?如果查詢除了

#!/usr/bin/python 
import requests 

reptime = 0.5 

url="http://www.google.com" 

def time(desired_resp): 
     try: 
       response = requests.get(url,timeout=desired_resp).elapsed.total_seconds() 
     except requests.exceptions.Timeout as f: 
       print "High response time" 
       print response 
     else: 
       print "Low reponse time" 
       print response 

time(reptime) 
+0

這是一個普通的'if'。不確定你想要做什麼。 –

+0

現在我只有兩個狀態,無論是高還是低的響應時間。我怎樣才能在響應時間很好的情況下定義一個間隔?與現在一樣的結構? – user3580316

+0

你不能(沒有代碼重複)。分開結果/狀態和響應。將狀態存儲在一個變量中。 –

回答

1

你有一個變量response並根據其價值,你必須打印出highoklow

#!/usr/bin/python 
import requests 

reptime = 0.5 

url="http://www.google.com" 

def time(desired_resp): 
    try: 
     response = requests.get(url,timeout=desired_resp).elapsed.total_seconds() 
    except requests.exceptions.Timeout as f: 
     response = desired_resp 
    if response < desired_resp*0.5: 
     print "Low reponse time" 
    elif response < desired_resp: 
     print "Ok reponse time" 
    else: 
     print "High response time" 
    print response 

time(reptime) 
+0

如果我想定義響應時間範圍,該怎麼辦?這是我的主要問題。例如1和1.5之間?那會怎麼樣? – user3580316

+0

您有三個範圍,低於time1和time2之間的time1,並且高於time2。因此,一個'if',一個'elif'和一個'else'分支。 – Daniel