所以,我在使用这段代码时遇到了一些麻烦。
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获胜队名
但是,我注意到如果其中一个分数是两位数,代码似乎只读取第一个数字,所以得分10-2会显示如下:
2-10输掉球队名称
我搜索了一下,也许我使用了错误的搜索词,但我似乎无法在这里找到答案。任何帮助将不胜感激。
答案 0 :(得分:4)
看起来你在比较字符串:
>>> "10" < "2"
True
比较整数版本:
if int(s.get("home")) < int(s.get("away"))
如果dict中缺少密钥,则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