【发布时间】:2018-04-20 13:07:08
【问题描述】:
所以我有一个函数可以检查我最喜欢的运动队那天是否参加比赛:
def checkGameDay():
today = str(datetime.date.today())
yyyymmdd = today.replace('-', '')
#yyyymmdd = '20171104' #test date that toronto played on (lost 6-4 to stL)
url = 'http://scores.nbcsports.msnbc.com/ticker/data/gamesMSNBC.js.asp?sport=%s&period=%s'
r = requests.get(url % ('NHL', yyyymmdd))
json_parsed = r.json()
check = 0
for game_str in json_parsed.get('games', []):
game_tree = ElementTree.XML(game_str)
away_tree = game_tree.find('visiting-team')
home_tree = game_tree.find('home-team')
gamestate_tree = game_tree.find('gamestate')
home_nickname = home_tree.get('nickname')
away_nickname = away_tree.get('nickname')
home_alias = home_tree.get('alias')
away_alias = away_tree.get('alias')
away_score = away_tree.get('score')
home_score = home_tree.get('score')
x = 0;
gamesToday = len(json_parsed.get('games', []))
if away_alias == 'Tor' or home_alias == 'Tor':
checkGoal()
print "Toronto is playing today"
return True
else:
check = check + 1
if check == gamesToday:
print "Toronto does not play today"
return False
我是新手程序员,所以请忽略我缺少的任何“良好做法”或“更有效的方法”!
如果 Toronto 在那天比赛,则返回 True,否则返回 False。我希望返回此值,以便稍后在代码中使用它的结果,尽管我不知道如何获得计划事件的返回。
我使用此代码设置了时间表:
schedule.every().day.at("18:00").run(checkGameDay)
while True:
schedule.run_pending()
time.sleep(1)
我知道应该触发退货,因为打印效果非常好!
有人知道如何创建一个接受此返回值的变量吗?非常感谢!我很纠结这个...
【问题讨论】:
-
您的代码的问题是您在循环中返回值,这不应该是这种情况。尝试在循环外定义一个变量,该变量在每次循环迭代后自行更新,您可以将该变量返回并存储在其他函数中。
标签: python return scheduled-tasks schedule