4

そのため、このコードには少し問題があります。

if s.get("home") < s.get("away"):
        scoringplays = scoringplays + s.get("away") + "-" + s.get("home") + " " + game.get("away_team_name")
    elif s.get("home") > s.get("away"):
        scoringplays = scoringplays + s.get("home") + "-" + s.get("away") + " " + game.get("home_team_name")
    else:
        scoringplays = scoringplays + s.get("home") + "-" + s.get("away") + " Tied"

MLB から野球の試合のスコアを取得し、次のように reddit に投稿します。

4-3 優勝チーム名

ただし、スコアの 1 つが 2 桁の場合、コードは最初の桁しか読み取らないように見えるため、10-2 のスコアは次のように表示されることに気付きました。

2-10 敗戦チーム名

少し検索しましたが、おそらく間違った検索用語を使用していますが、ここで答えが見つからないようです. どんな助けでも大歓迎です。

4

1 に答える 1

4

文字列を比較しているようです:

>>> "10" < "2"
True

それらの整数バージョンを比較します。

if int(s.get("home")) < int(s.get("away"))

キーが辞書にない場合、デフォルトでdict.get戻りNoneます。独自のデフォルト値を渡すこともできます。

home_score = int(s.get("home", 0))  # or choose some other default value
away_score = int(s.get("away", 0))

if home_score < away_score:
     #do something

デモ:

>>> int("10") < int("2")
False
于 2013-06-30T15:12:51.900 に答える