【发布时间】:2013-12-28 17:44:57
【问题描述】:
背景: 我有这个程序,用户在其中编写两个彼此面对的团队及其得分,我应该相应地更新表格。我将所有团队存储为具有名称、比赛、胜利、进球等参数的对象。
我的问题: 我有什么办法可以同时处理两个团队的输入并更新他们各自的统计数据吗?现在我正在使用 2 个不同的 for 循环,它们基本上做同样的事情,只是做了一些小的调整。
我现在的程序(部分): 我为 homeTeam 使用这个 for 循环,而对另一个团队使用一个非常相似的循环。
for i in self.teams:
if homeTeam.lower() == i.name.lower():
i.games += 1
goal_dif_Split = i.goal_dif.split("-")
goal_dif_Split[0] = int(goal_dif_Split[0])+ scoreH
goal_dif_Split[1] = int(goal_dif_Split[1])+ scoreA
i.goal_dif = str(goal_dif_Split[0])+"-"+str(goal_dif_Split[1])
if scoreH > scoreA:
i.win += 1
i.points += 3
elif scoreH < scoreA:
i.loss += 1
else:
i.tie += 1
i.points += 1
根据 cmets 的要求:
1.这就是团队输入的样子:
homeTeam = input ("Hometeam: ")
awayTeam = input ("Awayteam: ")
score = input ("Score: ")
2。这是第二个 for 循环:
for j in self.teams:
if awayTeam.lower() == j.name.lower():
j.games += 1
goal_dif_Split = j.goal_dif.split("-")
goal_dif_Split[0] = int(goal_dif_Split[0])+ scoreA
goal_dif_Split[1] = int(goal_dif_Split[1])+ scoreH
j.goal_dif = str(goal_dif_Split[0])+"-"+str(goal_dif_Split[1])
if scoreA > scoreH:
j.win += 1
j.points += 3
elif scoreA < scoreH:
j.loss += 1
else:
j.tie += 1
j.points += 1
【问题讨论】:
-
您能否也发布第二个循环来澄清一下?
-
1.团队输入是什么样的? 2. 你可以删除除 1 个更新的属性之外的所有属性吗?为了更清楚。谢谢!
-
按要求添加第二个循环和团队输入!
标签: variables object if-statement for-loop python-3.x