首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >划,划,划你的船

划,划,划你的船
EN

Code Golf用户
提问于 2017-04-21 15:58:06
回答 7查看 3.6K关注 0票数 27

每个人都可能熟悉以下宋国,即一轮音乐剧一轮音乐剧

背景

很少有人记得试着和几个朋友一起唱这首歌的4人版本,但失败了。抵消不同和谐音高歌曲的歌词被称为唱一个“圆”,这就是我们今天在这里模拟使用静态输出。下面是实际执行这首曲子的人(链接到音频/视频,将有声音)的一个例子。

挑战

这个挑战是按照如下方式输出文本:

代码语言:javascript
复制
Row, row, row your boat,           |-----------------------------------|-----------------------------------|-----------------------------------
Gently down the stream.            |Row, row, row your boat,           |-----------------------------------|-----------------------------------
Merrily, merrily, merrily, merrily,|Gently down the stream.            |Row, row, row your boat,           |-----------------------------------
Life is but a dream.               |Merrily, merrily, merrily, merrily,|Gently down the stream.            |Row, row, row your boat,           
-----------------------------------|Life is but a dream.               |Merrily, merrily, merrily, merrily,|Gently down the stream.            
-----------------------------------|-----------------------------------|Life is but a dream.               |Merrily, merrily, merrily, merrily,
-----------------------------------|-----------------------------------|-----------------------------------|Life is but a dream.               

规则

  • 尾随空格是可以接受的,但不是必需的,这包括换行符。
  • 是的,连字符和条形是所需输出的一部分。
  • 逗号、句点、大写和所有与语法相关的句法元素都是必需的。

这是密码-高尔夫,没有使用标准漏洞的最低字节计数代码是赢家.

EN

回答 7

Code Golf用户

发布于 2017-04-21 17:23:31

Python 2,199字节

代码语言:javascript
复制
w=' '
s=['-'*35]
t=['Row, row, row your boat,'+w*11,'Gently down the stream.'+w*12,'Merrily,'+' merrily,'*3,'Life is but a dream.'+w*15]
print'\n'.join(map('|'.join,zip(t+s*3,s+t+s+s,s+s+t+s,s*3+t)))

在网上试试!

感谢@mathjunkie保存了14个字节

票数 3
EN

Code Golf用户

发布于 2017-04-21 18:38:17

SOGL,83 字节数

代码语言:javascript
复制
┌׀0ρMVxDrž|⁷ΨB≈π93|↑D~Ν퉤t╤▼ΣΗ⁶⅔¾№⁷Ζ÷│²╥Ν9°‘-”)0ΔH«‘4*jŗ"ΣΨ¬¹‘4*;+7{’⁄{»}⁽:’∞n1wpX

第一部分┌׀0ρMVxDrž|⁷ΨB≈π93|↑D~Ν퉤t╤▼ΣΗ⁶⅔¾№⁷Ζ÷│²╥Ν9°‘是一个压缩字符串,其结果是

代码语言:javascript
复制
`life is but a dream.               |-|gently down the stream.            |row, row, row your boat,           |`

这些是相反的行(因为这是逐行打印它们),“快乐”部分将在程序中被删除。

程序的其余部分:

代码语言:javascript
复制
...‘                                        Push the compressed string
      )0ΔH«‘                                push "merrily, "
            4*                              repeat it 4 times
              j                             take the last letter off
    -”         ŗ                            replace "-" with the merrily line
                "ΣΨ¬¹‘                      push 35 dashes with an appending "|"
                      4*                    repeat it 4 times
                        ;+                  add inverted ("---|---..."+"Life is but a dream  ...")
                                            The resulting string of above is "-----------------------------------|-----------------------------------|-----------------------------------|-----------------------------------|life is but a dream.               |merrily, merrily, merrily, merrily,|gently down the stream.            |row, row, row your boat,           |"
                          7{                repeat 7 times
                            ’⁄{»}            rotate right 35 times
                                 ⁽           uppercase the 1st letter
                                  :          duplicate
                                   ’∞n       split into parts of length 135
                                      1w     get the 1st one
                                        p    output that
                                         X   delete the splat array
票数 2
EN

Code Golf用户

发布于 2017-04-22 17:11:37

Microsoft,421字节

代码语言:javascript
复制
with v as(select left(s+space(35),35)s,n from(values('Row, row, row your boat,',1),('Gently down the stream.',2),('Merrily, merrily, merrily, merrily,',3),('Life is but a dream.',4))t(s,n))select isnull(v.s,s.s)+'|'+isnull(b.s,s.s)+'|'+isnull(c.s,s.s)+'|'+isnull(d.s,s.s)from v full join v b on v.n=b.n+1 full join v c on b.n=c.n+1 full join v d on c.n=d.n+1 cross apply(select replicate('-',35)s)s order by isnull(v.n,9)

在线查一下

票数 2
EN
页面原文内容由Code Golf提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

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

复制
相关文章

相似问题

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