首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >管理一家馅饼店!

管理一家馅饼店!
EN

Code Golf用户
提问于 2013-08-22 01:52:02
回答 1查看 717关注 0票数 13

摘要

暗号高尔夫很好。派很好吃。当你把这两者结合在一起,只有好的东西才会发生。

Specifications

在这个挑战中,你将管理一家馅饼店。用户将能够输入五个不同的命令:listcountbuysellexit。以下是每一项的规格:

  • list
    • 打印一个清单,所有的馅饼拥有,和多少。用|和衬垫分开,两边都有一个空格。|s必须团结一致。饼数可能是负值(这意味着你欠某人:()。举个例子:苹果,500,500,

  • count [type]
    • 打印有多少{{type}}派。打印“没有{{type}}派!”如果没有的话。{{type}}总是匹配regex \w+ (也就是说,它总是一个单词)。例如,如果我有上面的例子列表中显示的馅饼数量,那么>计数苹果500 >数桃就没有桃子派了!

  • buy [n] [type]
    • {{n}}添加到{{type}}饼的计数中,并打印出来。如果{{type}}饼不存在,就创建它。{{n}}总是匹配正则表达式[0-9]+ (即,它总是一个数字)。下面是另一个示例(具有与前面示例相同的饼库存):>计数蓝莓2>购买8个蓝莓10

  • sell [n] [type]
    • {{n}}饼数中减去{{type}},并打印出来。如果{{type}}饼不存在,就创建它。派可能是负面的(哦,不,这意味着你欠某人派!)>卖15个蓝莓-5 >买5个蓝莓0

  • exit
    • 打印“派店关门了!”然后退出程序。出口派店关门了!

进一步澄清

  • 如果一个不存在的函数被调用(第一个单词),那么打印“那不是一个有效的命令”。
  • 如果使用无效的参数(第一个单词后面的单词)调用现有函数,那么程序的行为并不重要。“无效参数”包括太多的参数,太少的参数,{{n}}不是一个数字,等等。
  • 派很好吃。
  • 您的输入必须与输出区分开来。如果在命令行/终端/ shell /其他基于文本的东西上运行程序,则必须在输入前加上"> ​"“(大于”符号和空格“)或其他shell输入前缀。
  • 派很好吃。
  • 如果所有这些澄清都不够好,下面是一些示例输出:> list > buy 10 apple 10 > sell 10 blueberry -10 > list of苹果汁-10 = 10 x\ count apple 10 >数桃没有桃子派!>退出派店关闭!
  • 如果您购买/出售饼,而净计数变为0,则可以将其保存在list中或不保存,并且可以在count时返回0There is no {{type}} pie!
  • 这是密码-高尔夫;最短代码获胜。
  • 我说过派很好吃吗?
EN

回答 1

Code Golf用户

发布于 2013-08-30 20:31:38

Python 3,310

代码语言:javascript
复制
p={}
c=G=p.get
while c:
 l=("exit list buy count sell "+input("> ")).split();c=l.index(l[5]);*_,n=l
 if~-c%2*c:p[n]=(3-c)*int(l[6])+G(n,0)
 print(["The pie store has closed!","\n".join("| %*s | %9s |"%(max(map(len,p)),k,p[k])for k in p),G(n),G(n,"There is no %s pie!"%n),G(n),"That's not a valid command."][c])
票数 1
EN
页面原文内容由Code Golf提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codegolf.stackexchange.com/questions/12356

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档