轨道
/
Pharo
Pharo
/
练习
/
锦标赛
锦标赛

锦标赛

中等

说明

统计一场小型足球比赛的结果。

给定一个输入文件,其中记录了哪支队伍对阵哪支队伍以及比赛结果,请创建一个包含如下表格的文件:

Team                           | MP |  W |  D |  L |  P
Devastating Donkeys            |  3 |  2 |  1 |  0 |  7
Allegoric Alaskans             |  3 |  2 |  0 |  1 |  6
Blithering Badgers             |  3 |  1 |  0 |  2 |  3
Courageous Californians        |  3 |  0 |  1 |  2 |  1

这些缩写是什么意思?

  • MP:比赛场数
  • W:胜场数
  • D:平局场数(打平)
  • L:负场数
  • P:积分

一场胜利为队伍赢得 3 分。 平局得 1 分。 失利得 0 分。

排名按积分从高到低排列。 如果积分相同,则按队伍名称的字母顺序排列。

输入

你的统计程序会收到类似这样的输入:

Allegoric Alaskans;Blithering Badgers;win
Devastating Donkeys;Courageous Californians;draw
Devastating Donkeys;Allegoric Alaskans;win
Courageous Californians;Blithering Badgers;loss
Blithering Badgers;Devastating Donkeys;loss
Allegoric Alaskans;Courageous Californians;win

比赛结果指的是列在前面的那支队伍。 所以这一行:

Allegoric Alaskans;Blithering Badgers;win

表示 Allegoric Alaskans 击败了 Blithering Badgers。

这一行:

Courageous Californians;Blithering Badgers;loss

表示 Blithering Badgers 击败了 Courageous Californians。

而这一行:

Devastating Donkeys;Courageous Californians;draw

表示 Devastating Donkeys 和 Courageous Californians 打成了平局。

注意

一步一步地构建这个练习,大胆地把有用的概念拆分到新的类中。 之前的练习应该已经为写出简洁的解法打下了基础。

复习一下关于面向对象思维的章节也可能会有帮助,例如 Inside Smalltalk - Chapter 1 或 Smalltalk by Example - Chapter 9

通过 GitHub 编辑 链接将在新窗口或新标签页中打开
Pharo Exercism

准备好开始 锦标赛 了吗?

注册 Exercism,借助 50 个练习 和真人导师指导,学习并掌握 Pharo,全部免费。