摘要
打代码高尔夫很好。馅饼很好。将两者放在一起时,只会发生好事。
技术指标
在这个挑战中,您将管理一家馅饼店。用户将能够输入五个不同的命令:list,count,buy,sell,和exit。这是每个的规格:
list打印所有拥有的馅饼的列表,以及多少。与分开,
|并在两侧各留一个空格。|必须对齐。派的金额可能为负(这意味着您欠某人的派:()。例如:| apple | 500 | | blueberry | 2 | | cherry | -30 |
count [type]打印
{{type}}有多少个馅饼。打印“没有{{type}}派!” 如果没有。{{type}}将始终与正则表达式匹配\w+(即,它将始终是单个单词)。例如,如果我在上面的示例列表中显示了一定数量的馅饼,则> count apple 500 > count peach There is no peach pie!
buy [n] [type]添加
{{n}}到{{type}}饼数中,然后打印。{{type}}如果不存在,请创建饼图。{{n}}将始终与正则表达式匹配[0-9]+(即,它将始终是数字)。这是另一个示例(与前面的示例具有相同的饼图库存):> count blueberry 2 > buy 8 blueberry 10
sell [n] [type]{{n}}从{{type}}饼数中减去,然后打印出来。{{type}}如果不存在,请创建饼图。派可能为负(哦,不,这意味着您欠某人派!)。> sell 15 blueberry -5 > buy 5 blueberry 0
exit打印“馅饼商店已经关闭!” 并退出程序。
> exit The pie store has closed!
进一步说明
- 如果调用了一个不存在的函数(第一个单词),则打印“这不是有效的命令”。
- 如果使用无效参数(第一个单词之后的单词)调用现有函数,则程序的行为无关紧要。“无效参数”包括太多参数,太少参数,
{{n}}不是数字等。 - 派很好。
- 您的输入必须与输出区分开。如果您是在命令行/终端/外壳/其他基于文本的东西上运行程序,则必须在输入之前加上“
> "(“大于”符号和空格)或其他一些外壳输入前缀东西。 - 派很好。
如果所有这些说明还不够好,请看下面的示例输出:
> list > buy 10 apple 10 > sell 10 blueberry -10 > list | apple | 10 | | blueberry | -10 | > count apple 10 > count peach There is no peach pie! > exit The pie store has closed!如果你买/卖馅饼和净计数变成
0,你可以既保持它在list与否,你可以要么返回0或There is no {{type}} pie!当你count吧。- 这是代码高尔夫球;最短的代码胜出。
- 我是否提到派很好?
buy 1 apple和sell 1 apple。那么count apple,0代替返回是否有效There is no apple pie!?
