import urllib
from xml.etree.ElementTree import parse
candidates = ['4198', '4168']
daves_latitude = 41.98062
def distance(lat1, lat2):
'Return distance in miles between two lats'
return 69*abs(lat1 - lat2)
def monitor():
u = urllib.urlopen('http://ctabustracker.com/bustime/map/getBusesForRoute.jsp?route=22')
doc = parse(u)
for bus in doc.findall('bus'):
busid = bus.findtext('id')
if busid in candidates:
lat = float(bus.findtext('lat'))
dis = distance(lat, daves_latitude)
print busid, dis, 'miles'
print '-'*10
import time
while True:
monitor()
time.sleep(60)
我根據現實生活中的問題做了這個練習。戴夫在公交車上忘記了自己的案子,他想知道其中一輛公交車正在載着遺失的案件。我理解的代碼,但我不能找出第一功能和第二條之間的關係,更好地理解這個python代碼
def distance(lat1, lat2): 'Return distance in miles between two lats' return 69*abs(lat1 - lat2)
我明白監視器()做而不是距離之間的關係()和顯示器()以及它們如何相互作用以顯示結果,請問您能否賜教?我是一個n00b。
由於
好吧,現在就明白了。我還不明白的事情:什麼是「abs」?以及爲什麼當我們創建距離()時,我們分配參數lat1和lat2?難道它不是相同的寫lat和daves_latitude嗎? –
是的,你對第二個參數是正確的 - 在這種情況下,它始終是相同的值。對於「abs」這樣的基本功能,在提出任何問題之前,我會建議使用內置幫助功能 - 只需在python控制檯中鍵入«help('abs')» –