高尔夫挑战赛,麦凯
麦克基先生是南方公园的一个人物,以他所说的一切都加上“ m'kay”而闻名。 编写一个程序或函数,将一串文本转换成Mackey先生会说的话。 麦凯安置 m'kay有一个随机的50%的几率被添加的标点符号后,,.,?和!。如果是这种情况,它将紧跟在其前面并在空格之前的完全相同的标点符号。 例如,在句子中Test, test.,m'kay可以添加两个位置:逗号之后和句点之后,每个位置都有50%的机会。可能的结果是Test, m'kay, test。或Test, test. M'kay.或Test, m'kay, test. M'kay.。 必须始终至少m'kay添加一个。而且,它不能总是在同一位置,m'kay可以添加的每个有效位置必须以相同的概率出现。也就是说,m'kay如果由于随机性而从未添加any ,则不能总是在字符串末尾添加m'kay。如果只有一个m'kay,即使强制存在,它也必须具有相同的出现在每个有效位置的概率。 如果m'kay是后?,.或者!,在m必须大写。 min 的数目m'kay必须在1到3之间统一选择。也就是说m'kay,mm'kay和mmm'kay都是所有可能的选择,每个选择的概率为0.33 ...如果必须将其大写(请参见上述规则),则m必须将其全部大写。 输入,输出 输入是ASCII字符串,其中包含从ASCII Dec 32(空格)到ASCII Dec 126(波浪号)的字符~。输入中没有换行符。您可能假设任何输入将至少包含之一, . ? !。 您可以假设m'kay输入中没有或没有任何变体。 输入可以来自STDIN,函数自变量,命令行或类似的东西。 输出可以通过STDOUT,函数返回或类似的东西进行。 测试用例 输入: Test. 可能的输出: Test. M'kay. 输入: Programming Puzzles & Code Golf Stack Exchange is a question and …