によって実行関数の戻り値を取得するので、私は私の好きなスポーツチームは、その日に果たしているかどうかをチェックし機能があります:私は、初心者のプログラマーだスケジュール
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
はので、任意の「グッドプラクティス」を無視してください私が行方不明になっている「より効率的な方法」があります。
トロントがその日にプレイする場合、Trueが返され、そうでない場合はFalseが返されます。私はこの値を返すことが望ましいので、私はスケジュールされたイベントの復帰方法を理解することはできませんが、コードの後の結果を使用することができます。
私はこのコードを使用してスケジュールを設定:
schedule.every().day.at("18:00").run(checkGameDay)
while True:
schedule.run_pending()
time.sleep(1)
私はプリントが完全に正常に動作しているためリターンがトリガされる必要があります知っています!
この戻り値をとる変数をどのように作成できますか?本当にありがとう!関数から値を返さないでください
bool_value = False
def test_function():
global bool_value
#bool_value = False
for i in range(10):
if i%2 == 1:
bool_value = True
else:
bool_value = False
#return bool_value
storedVariable = bool_value
:私は
あなたのコードの問題は、大文字小文字ではないはずのループで値を返すことです。ループの外側にある変数を定義してみてください。ループの繰り返しごとに更新され、その変数を他の関数に戻して格納することができます。 –