首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >写一个haiku-w探测器

写一个haiku-w探测器
EN

Code Golf用户
提问于 2017-01-29 10:12:05
回答 23查看 5.3K关注 0票数 42

柴歌是一首三行诗,其音节数分别为5/7/5。

一首柴歌-w是一首诗,有三行,分别有5/7/5字数.

挑战

编写一个程序,如果输入是haiku-w,返回true,如果输入不是,则返回false。

有效的haiku-w输入必须由3行组成,用换行符分隔.

  • 第1行必须由5个单词组成,每个单词由一个空格分隔。
  • 第2行必须由7个单词组成,每个单词由一个空格分隔。
  • 第3行必须由5个单词组成,每个单词由一个空格分隔。

示例

代码语言:javascript
复制
The man in the suit
is the same man from the store.
He is a cool guy.

结果:真

代码语言:javascript
复制
Whitecaps on the bay:
A broken signboard banging
In the April wind.

结果:假

规则

  • 这是密码-高尔夫,所以以字节为单位的最短答案获胜。
  • 标准代码-高尔夫漏洞适用。禁止作弊。
  • 其他布尔返回值(如10 )是可以接受的。
  • 作为输入的字符串的长度-3列表也是可以接受的.
  • 有效的haiku-w输入不应该有前导或尾随空格,或分隔单词的多个空格。
EN

回答 23

Code Golf用户

发布于 2017-01-29 11:33:17

Python,42字节

代码语言:javascript
复制
lambda l:[s.count(' ')for s in l]==[4,6,4]

在网上试试!

将输入作为行列表,单词由单个空格分隔。

由于我们保证不会有前导或尾随空格,并且只有单个空格会分隔每个单词,我们可以通过简单地计算每一行中的空格来验证w-haiku。

我们在一个列表理解中这样做,以创建一个空间计数列表。如果它是一个正确的haiku,它应该看起来像[4, 6, 4],所以我们将它与此进行比较,并返回结果。

票数 10
EN

Code Golf用户

发布于 2017-01-29 10:25:41

批处理,102个字节

代码语言:javascript
复制
@echo off
call:c&&call:c 2||exit/b
:c
set/an=%1+5
set/ps=
for %%W in (%s%)do set/an-=1
exit/b%n%

当读取错误数错误数错误的一行时,退出具有非零错误级别。

票数 7
EN

Code Golf用户

发布于 2017-01-29 18:13:37

Pyth,9字节

代码语言:javascript
复制
qj464T/R;

一种程序,它接受"quoted strings"列表的输入,并酌情打印TrueFalse

测试套件

是如何工作的

代码语言:javascript
复制
qj464T/R;   Program. Input: Q
qj464T/R;Q  Implicit variable fill
     T      Are the base-10
 j          digits
  464       of 464
q           equal
      /     to the number
        ;   of spaces
       R    in each string
         Q  in the input?
            Implicitly print
票数 4
EN
页面原文内容由Code Golf提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

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

复制
相关文章

相似问题

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