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')» –