警告:此挑战包含“猴岛的秘密”中的一些轻微破坏者。
在游戏快要结束时,导航员的魔术头正带领您穿过地下墓穴:
您需要它的眼球项链,但头部不愿意将它提供给您。获得它的一种方法就是继续乞讨:
Guybrush:请给我那条项链吗?
负责人:不,但感谢您如此礼貌地问。
Guybrush:哦,拜托,pleeeeease?
负责人:您可以乞求一切,但不能拥有。
Guybrush:好吗?
负责人:您可以乞求一切,但不能拥有。
Guybrush:好漂亮吗?
负责人:您可以乞求一切,但不能拥有。
Guybrush:可以在上面放糖吗?
头:哦,好的,你这个大宝贝。你可以拥有它。嘿,如果没有肩膀,项链有什么用?
挑战
编写一个完整的程序,打印上述对话框。要注意的是,每次调用该程序时,它应该只打印两行(Guybrush和Head的响应恳求一遍)。例如,如果您的提交是用Python编写的,用法应如下所示:
$> python please.py
Guybrush: May I please have that necklace?
Head: No, but thanks for asking so politely.
$> python please.py
Guybrush: Oh come on, pleeeeease?
Head: You can beg all you want, but you can't have it.
$> python please.py
Guybrush: Pretty please?
Head: You can beg all you want, but you can't have it.
$> python please.py
Guybrush: Pretty PRETTY please?
Head: You can beg all you want, but you can't have it.
$> python please.py
Guybrush: Pretty please with sugar on top?
Head: Oh, all right, you big baby. You can have it. Hey, what good's a necklace if you don't have shoulders?
多次调用该程序可能会导致不确定的行为,因此您可以循环执行,继续打印最后两行,或者在第五次调用后甚至可能导致程序中断。
您可以写入工作目录中的文件,也可以修改程序本身的源代码以跟踪调用。在后一种情况下,您的程序不得依赖其自己的文件名。(在前一种情况下,您可以假定程序的文件名不会与程序所依赖的任何文件名冲突。)
您不得假定类似REPL的环境,或在两次调用之间将任何数据保留在RAM中。例如,如果您使用Mathematica回答,则必须假设我在两次调用之间退出了内核。
这是代码高尔夫球,最短的答案(以字节为单位)获胜。如果您的程序在第一次调用之前依赖于任何其他文件,请将其名称和内容添加到字节数中。
node please.js
产生5个不同的输出。