JMP 脚本挑战 1
欢迎来到我计划的一系列常规 JMP 挑战中的第一个挑战! 在大多数情况下,这些挑战将集中在 JMP 脚本语言 (JSL) 上,但有时,我会偷偷地添加一些无需脚本即可完成的内容。
在每个月的一号左右,我希望向您提供一个问题来测试您的 JMP 能力。 每个挑战都将强调适用于 JMP 的某些编程和面向数据的技能。 我想鼓励每个人,无论你的能力水平如何,都去尝试一下。 在我的职业生涯中,我通过尝试做一些看似难以理解、超出我的技能的事情,提出解决方案,然后学习(或发现)更好的做事方式,学到了更多东西。
在每一篇新帖子中,我都会选出上一次挑战中表现最好的人,并分享他们的解决方案以及其他有趣的解决方案。 我将谈谈我认为之前的挑战具有挑战性的原因,并尝试提供一些智慧。
随着时间的推移,我将跟踪表现最好的人。 该挑战将对所有人开放,但我会将员工条目与其他条目分开。 正如您所料,JMP 中有一些铃声。
规则很简单:
- 一切都必须完全在联合管理计划,无需调用 JMP 之外的任何应用程序(例如 SAS、R 或 Python),或使用外部补充信息源。
- 脚本必须在挑战中指定的合理时间内完成其任务。
- 它必须在 Catalina 或 Windows 10 上运行。
- 虽然我更喜欢使用JMP 15 ,我愿意考虑在 JMP 14 上进行测试。 如果这是您的偏好,您需要在您的条目中告诉我。
- 将您的条目发布到博客。 我必须在截止日期当天东部时间晚上 11:59 之前收到您的最终参赛作品。 我只会考虑每人一份参赛作品。
每月将根据适合挑战的标准向表现最好的脚本授予积分。 在挑战进行的同时,我会审核评论部分,以防止提示、线索、意见等不经意间泄露出去。 当我收到您的参赛作品时,我会通知您。
JSL挑战1
我喜欢好的字谜游戏。 这项挑战的灵感来自《纽约时报》的拼字大赛。 在其中,您必须从七个字母的列表中创建单词,条件是始终使用其中一个字母。 其他字母可以使用一次、多次或根本不使用。 我正在修改条件以使事情变得更棘手。
给定七个字母,求:
- 使用全部七个字母且仅使用这七个字母的最长单词。 字母可以多次使用。
- 使用所有七个字母和任何其他字母的最长单词。
- 使用所有七个字母和任何其他字母的最长单词,七个字母中没有一个字母被使用超过一次。
- 7 个字母中出现 5 个的最长单词。 包括 7 之外的任何字母都可以出现一次或多次,但 7 列表中的两个未使用的字母可能根本不会出现。
对于所有四个项目,可能没有符合条件的单词或有多个单词。 脚本必须接受七个小写字母字符 (az) 字符串的列表,这些字符串将存储在名为的全局变量中字母集列表。 例如,如果列表中的第一项是“abcdefl”,则答案将为:
- “可污损”
- “不舒服”
- “纤维软骨膜”
- “甲醛次硫酸盐”和“科学哲学”
所有脚本都将在相同的三个七个字母集上进行测试。 所有单词均取自下面发布的词典。 当您的脚本执行时,请以 JMP 数据表的形式访问它。 将所有单词写入日志。 确保在输出中包含项目编号。 您总共有五分钟的时间限制。 参赛作品必须在东部时间 4 月 15 日星期三晚上 11:59 之前收到。
评分:每个正确的解决方案得两分。 解决所有四个问题的另外两点。 三个最快的脚本(正确回答所有四个项目的总时间)将获得 6、3 和 1 分。 对于任何可以生成正确答案的脚本,该答案的大小是三个最快解决方案中第二短的答案的一半或更少(非空白字符总数并删除注释),则得两分。 如果您的脚本运行速度与工作人员提交的禁食速度一样快或更快,则加三分。
祝你好运!

你的 JSL 有多好? 参加首届 JMP 脚本编写挑战赛,看看您与其他脚本编写者相比如何。
JMP电缆回复:JMP 脚本挑战提醒那些考虑提交脚本但尚未提交的人。 你还有不到一周的时间。 截止日期为东部时间 4 月 15 日星期三晚上 11:59。
回复:JMP 脚本挑战@MathStatChem将脚本私信给我可能是最安全的。 我也在管理这个博客,所以你甚至可以在这里发帖,我可以在 15 号之后才批准该帖子。
回复:JMP 脚本挑战您希望我们如何发布脚本?就像这里评论中的文字一样?
回复:JMP 脚本挑战@MathStatChem 2. 该单词必须至少包含一次所有七个字母。 它可以包含一次或多次任何其他字母。
回复:JMP 脚本挑战对于规则 2 应该是“使用所有七个字母一次还有其他字母吗?”,或者只是该单词必须包含所有七个字母。
回复:JMP 脚本挑战那是对的。 一组七个字母中的所有字母都会不同。
回复:JMP 脚本挑战另一个问题:对于中的项目字母集列表,我们可以假设不会有重复的字母,即没有像“aabbcc”这样的条目,而是只有字符串中仅出现一次的字母的条目。
回复:JMP 脚本挑战@MathStatChem ,谢谢你的提问。 无论哪种方式都会起作用。 字典表将在 JMP 中打开并成为当前数据表。 如果您使用文件引用方法,则假设该表将保存在与脚本相同的目录中。 避免使用任何用户查询函数(例如 Pick File() 并直接从其路径位置打开它。
回复:JMP 脚本挑战当您说“请将其作为 JMP 数据表访问”(单词列表)时,您希望我们采取什么方式来执行此操作?
使用当前数据表()?或者特定的文件/路径参考?
回复:JMP 脚本挑战不错的挑战!
老谜语:仅用打字机顶行的按键就可以拼写出 10 个字母的单词?