暗号高尔夫很好。派很好吃。当你把这两者结合在一起,只有好的东西才会发生。
在这个挑战中,你将管理一家馅饼店。用户将能够输入五个不同的命令:list、count、buy、sell和exit。以下是每一项的规格:
list |和衬垫分开,两边都有一个空格。|s必须团结一致。饼数可能是负值(这意味着你欠某人:()。举个例子:苹果,500,500,count [type] {{type}}派。打印“没有{{type}}派!”如果没有的话。{{type}}总是匹配regex \w+ (也就是说,它总是一个单词)。例如,如果我有上面的例子列表中显示的馅饼数量,那么>计数苹果500 >数桃就没有桃子派了!buy [n] [type] {{n}}添加到{{type}}饼的计数中,并打印出来。如果{{type}}饼不存在,就创建它。{{n}}总是匹配正则表达式[0-9]+ (即,它总是一个数字)。下面是另一个示例(具有与前面示例相同的饼库存):>计数蓝莓2>购买8个蓝莓10sell [n] [type] {{n}}饼数中减去{{type}},并打印出来。如果{{type}}饼不存在,就创建它。派可能是负面的(哦,不,这意味着你欠某人派!)>卖15个蓝莓-5 >买5个蓝莓0exit {{n}}不是一个数字,等等。> "“(大于”符号和空格“)或其他shell输入前缀。0,则可以将其保存在list中或不保存,并且可以在count时返回0或There is no {{type}} pie!。发布于 2013-08-30 20:31:38
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])https://codegolf.stackexchange.com/questions/12356
复制相似问题