灵感来自这和以下聊天:
您的任务是输出以下内容:
_ _ _
/_/_/_/\
/_/_/_/\/\
/_/_/_/\/\/\
\_\_\_\/\/\/
\_\_\_\/\/
\_\_\_\/
允许额外的前导或尾随空格,只要它不会更改多维数据集的外观即可。与往常一样,允许从函数返回上面的内容或字符串列表。
这是代码高尔夫球,因此最短答案以字节为单位!
灵感来自这和以下聊天:
您的任务是输出以下内容:
_ _ _
/_/_/_/\
/_/_/_/\/\
/_/_/_/\/\/\
\_\_\_\/\/\/
\_\_\_\/\/
\_\_\_\/
允许额外的前导或尾随空格,只要它不会更改多维数据集的外观即可。与往常一样,允许从函数返回上面的内容或字符串列表。
这是代码高尔夫球,因此最短答案以字节为单位!
Answers:
@KevinCruijssen建议了这个...
-4个字节,感谢@HyperNeutrino和@WheatWizard
输出硬编码解决方案:
print(r""" _ _ _
/_/_/_/\
/_/_/_/\/\
/_/_/_/\/\/\
\_\_\_\/\/\/
\_\_\_\/\/
\_\_\_\/""")
或98个字节:
print(" _ _ _\n /_/_/_/\\\n /_/_/_/\/\\\n/_/_/_/\/\/\\\n\_\_\_\/\/\/\n \_\_\_\/\/\n \_\_\_\/")
傻瓜Python 3非硬编码提交,请确保它可以打高尔夫球。令人惊讶的是,for
仅在一个循环中压缩两个s会更长:
p=print;p(' '*3+"_ "*3)
for i in range(3):p(abs(2-i)*' '+'/_'*3+'/'+i*"\/"+'\\')
for i in range(3):p(i*' '+'\\_'*3+'\\'+"/\\"*abs(2-i)+'/')
print(' '*3+"_ "*3,'\n'+'\n'.join(abs(2-i)*' '+'/_'*3+'/'+i*"\/"+'\\'if i<3else (i-3)*' '+'\\_'*3+'\\'+"/\\"*abs(i-5)+'/'for i in range(6)))
„_ 3×Âð'/:3F„/\«∞2ä`RˆD}\)¯R«.c
说明
„_ 3× # push the string "_ _ _ "
 # push a reversed copy
ð'/: # replace spaces with slashes
3F # 3 times do
„/\« # append "/\"
∞ # mirror
2ä` # split into 2 separate parts on stack
Rˆ # reverse the second part and push to global list
D # duplicate the remaining part
} # end loop
\) # discard the last copy and wrap stack in a string
¯R # push the global list and reverse it
« # append to the rest of the list
.c # pad lines to equal length
备用31字节解决方案
„ _3×3FDð'/:„/\«∞2ä`R.Á})ÀÀÀ.c¦
ÀÀÀ
在那个替代版本中[O_O"]
……
-2个字节,多亏了Stephen S,删除了多余的空格
我不确定这是否有价值,因为CSS并不是真正的编程语言,但是从技术上讲CSS可以是独立的,因为<html>
如果没有元素,元素会自动生成。
html:after{content:' _ _ _ \A /_/_/_/\005c\A /_/_/_/\005c/\005c \A /_/_/_/\005c/\005c/\005c \A \005c_\005c_\005c_\005c/\005c/\005c/ \A \005c_\005c_\005c_\005c/\005c\/\A \005c_\005c_\005c_\005c /';white-space: pre;}
-1个字节,多亏了Stephen S,删除了多余的空格
html:after{font-family:'Courier';content:' _ _ _ \A /_/_/_/\005c\A /_/_/_/\005c/\005c \A /_/_/_/\005c/\005c/\005c \A \005c_\005c_\005c_\005c/\005c/\005c/ \A \005c_\005c_\005c_\005c/\005c\/\A \005c_\005c_\005c_\005c /';white-space: pre;}
:
s和{}
s 周围的一些空格
"/ _\"•₁7æ¤ÝI}?ÕR&Ü•4вè4ôJ€∞ø¨»
与Emigna 100%不同的方法。
编辑:如果我从已经转置的模式开始,我可以切出3个字节。
"/ _\" # Push ASCII-art characters used.
•₁7æ¤ÝI}?ÕR&Ü•4в # Push transposed version of base-4 pattern.
è # Replace all digits in base-4 number with appropriate symbol.
4ô # Split into groups of 4.
J # Join together.
€∞ # Mirror each row (technically column).
ø # Transpose back.
¨» # Remove the extra "_ _ _", and print with newlines.
_=>String.raw` _ _ _
/_/_/_/\
/_/_/_/\/\
/_/_/_/\/\/\
\_\_\_\/\/\/
\_\_\_\/\/
\_\_\_\/`
-9个字节,感谢@Shaggy
_=>` _ _ _
${a=`/_/_/_/\\`}
${a}/\\
${a}/\\/\\
${b=`\\_\\_\\_\\/`}\\/\\/
${b}\\/
${b}`
_=>` _ _ _
/_/_/_/\\
/_/_/_/\\/\\
/_/_/_/\\/\\/\\
\\_\\_\\_\\/\\/\\/
\\_\\_\\_\\/\\/
\\_\\_\\_\\/`
7.times{|i|puts' '*(j=i^i/4+3)+'_ \_/_'[-i/3*2,2]*3+'/\/'[i/4,2]*j^=3}
最新编辑:\
通过将''
而不是中包含字符串来避免使用double ""
。
Ungolfed(请注意,在Ruby负字符串索引中回绕。-1
是最后一个字符。)
7.times{|i| #7 lines.
puts" "*(j=i^i/4+3)+ #Print j= 3,2,1,0, 0,1,2 spaces.
"_ \\_/_"[-i/3*2,2]*3+ #Print 3 repeats of 2 characters from the string, index 0,-2,-2,-2,-4,-4,-4.
"/\\/"[i/4,2]*j^=3 #Print 2 characters from the string, /\ or \/, repeated 3^j times.
}
甚至不确定这是否仍然是一件事,但我很无聊,只是因为傻笑而笑了:)
++++++++[->++++>++++>++++>++++<<<<]+++++[->>+++>+++>+++<<<<]<+++[->+++++<]>[->>>+++>+++<<<<]>>>>+++<<<...<+++[->.>>>.<<<<]<<++++++++++>+++++++++++++.<.>>>..>.<<+++[->>>>.<<.<<]>>>.<<<<.<.>>>.>.<<+++[->>>>.<<.<<]>>>.<.>.<<<<.<.>>>>.<<+++[->>>>.<<.<<]>>>.<.>.<.>.<<<<.<.>>>>>.<<<+++[->>>>.<.<<<]>>.>.<.>.<.<<<.<.>>>.>>.<<<+++[->>>>.<.<<<]>>.>.<.<<<.<.>>>..>>.<<<+++[->>>>.<.<<<]>>.<<<.<.>>
编辑:TIL:我的效率比我在网上发现的发电机好54.28%^。^
Edit2: 在线尝试确保选项中的Wrap处于打开状态以防止内存溢出
与open-cobol一起编译。请注意,缩进是一个选项卡,而不是空格,即使该网站采用这种格式也是如此。
IDENTIFICATION DIVISION.
PROGRAM-ID. a.
PROCEDURE DIVISION.
DISPLAY " _ _ _".
DISPLAY " /_/_/_/\".
DISPLAY " /_/_/_/\/\".
DISPLAY "/_/_/_/\/\/\".
DISPLAY "\_\_\_\/\/\/".
DISPLAY " \_\_\_\/\/".
DISPLAY " \_\_\_\/".
STOP RUN.