Cla*_*diu 37 language-agnostic code-golf rosetta-stone
感谢某人,你不想只是给他们发一封电子邮件说"谢谢!",你想要一些FLASHY:
Input: THANKS!!
Output:
TTT H H AAA N N K K SSS !!! !!!
T H H A A NNN K K S !!! !!!
T HHH AAA NNN KK SSS !!! !!!
T H H A A N N K K S
T H H A A N N K K SSS !!! !!!
Run Code Online (Sandbox Code Playgroud)
编写程序以生成横幅.您只需要生成大写AZ以及空格和感叹号(什么是没有感叹号的横幅?).所有字符都由相同字符的3x5网格组成(因此S是由S组成的3x5网格).所有输出应该在一行(所以没有换行).以下是您需要的所有字母:
Input: ABCDEFGHIJKL
Output:
AAA BBB CCC DD EEE FFF GGG H H III JJJ K K L
A A B B C D D E F G H H I J K K L
AAA BBB C D D EE FF G G HHH I J KK L
A A B B C D D E F G G H H I J J K K L
A A BBB CCC DD EEE F GGG H H III JJJ K K LLL
Input: MNOPQRSTUVWX
Output:
M M N N OOO PPP QQQ RR SSS TTT U U V V W W X X
MMM NNN O O P P Q Q R R S T U U V V W W X
M M NNN O O PPP Q Q RR SSS T U U V V WWW X
M M N N O O P QQQ R R S T U U V V WWW X
M M N N OOO P QQQ R R SSS T UUU V WWW X X
Input: YZ!
Output:
Y Y ZZZ !!!
Y Y Z !!!
YYY Z !!!
Y Z
YYY ZZZ !!!
Run Code Online (Sandbox Code Playgroud)
获胜者是最短的源代码,通过以utf-8编码存储文件所需的字节数来计算.源代码应该从stdin读取输入,输出到stdout.您可以假设输入仅包含[A-Z! ].如果您侮辱用户输入错误,您将获得10个字符的折扣= P.
我要求这些确切的28个字符,但为了使它更有趣,你可以选择你想要的样子 - 无论什么使你的代码更短!要证明您的字母看起来像普通字母,请显示最后三次运行的输出.
到目前为止最短的代码,字符(如果非ASCII存在,则为utf8编码):
Dav*_*vid 43
;/5 3$"1(' ',.s){~"1#:3 u:(ucp'???????????????????????????'){~0>.64-~a.i.s=:
Run Code Online (Sandbox Code Playgroud)
用法:
;/5 3$"1(' ',.s){~"1#:3 u:(ucp'???????????????????????????'){~0>.64-~a.i.s=:'ABCDEFGHIJKLMNOPQRSTUVWXYZ !'
?????????????????????????????????????????????????????????????????????????????????????????????????????????????????
?AAA?BBB?CCC?DD ?EEE?FFF?GGG?H H?III?JJJ?K K?L ?M M?N N?OOO?PPP?QQQ?RR ?SSS?TTT?U U?V V?W W?X X?Y Y?ZZZ? ?!!!?
?A A?B B?C ?D D?E ?F ?G ?H H? I ? J?K K?L ?MMM?NNN?O O?P P?Q Q?R R?S ? T ?U U?V V?W W? X ?Y Y? Z? ?!!!?
?AAA?BBB?C ?D D?EE ?FF ?G G?HHH? I ? J?KK ?L ?M M?NNN?O O?PPP?Q Q?RR ?SSS? T ?U U?V V?WWW? X ?YYY? Z ? ?!!!?
?A A?B B?C ?D D?E ?F ?G G?H H? I ?J J?K K?L ?M M?N N?O O?P ?QQQ?R R? S? T ?U U?V V?WWW? X ? Y?Z ? ? ?
?A A?BBB?CCC?DD ?EEE?F ?GGG?H H?III?JJJ?K K?LLL?M M?N N?OOO?P ?QQQ?R R?SSS? T ?UUU? V ?WWW?X X?YYY?ZZZ? ?!!!?
?????????????????????????????????????????????????????????????????????????????????????????????????????????????????
;/5 3$"1(' ',.s){~"1#:3 u:(ucp'???????????????????????????'){~0>.64-~a.i.s=:'this is incorrect input.'
|index error
Run Code Online (Sandbox Code Playgroud)
解释(NB.是J中的评论):
;/ NB. String together along the third dimension...
5 3$"1 NB. ... reshape each line to 5x3...
(' ',.s) NB. ... a space before each letter of the input string...
{~"1 NB. ... indexed using...
#: NB. ... the (15 bit) binary representation of ...
3 u: NB. ... the integer representation of...
(ucp'???????????????????????????') ... the unicode versions of these code points...
{~ NB. ...indexed using...
0>. NB. ...the max of 0 and...
64-~ NB. ...64 less than...
a.i. NB. the ascii indexes of s
s=: NB. Assign the input string to the variable s.
Run Code Online (Sandbox Code Playgroud)
dou*_*lep 16
s=raw_input()
for i in range(5):
for c in s:
print''.join((' ',c)[int('2zj93fqzj6hsh2bc8i2b1ycncj5yc2v9i0m16dz91gcizj18blbw6wt0p3qqh8svchwc5onna2808of',36)>>((ord(c)-65 if c>'@'else 26)*15+i*3+j)&1]for j in[0,1,2]),
print
Run Code Online (Sandbox Code Playgroud)
笔记:
跑步(我改变了几个字母的外观,仅出于保证的原因;):
$ echo ABCDEFGHIJKL | python code-golf.py
AAA BBB CCC DD EEE FFF GGG H H III JJJ K K L
A A B B C D D E F G H H I J K K L
AAA BBB C D D EEE FFF G HHH I J KK L
A A B B C D D E F G G H H I J J K K L
A A BBB CCC DD EEE F GGG H H III JJJ K K LLL
$ echo MNOPQRSTUVWX | python code-golf.py
M M N N OOO PPP QQQ RR SSS TTT U U V V W W X X
MMM NNN O O P P Q Q R R S T U U V V W W X X
M M NNN O O PPP Q Q RR SSS T U U V V WWW X
M M N N O O P QQQ R R S T U U V V WWW X X
M M N N OOO P QQQ R R SSS T UUU V W W X X
$ echo YZ\! | python code-golf.py
Y Y ZZZ !!!
Y Y Z !!!
YYY Z !!!
Y Z
YYY ZZZ !!!
Run Code Online (Sandbox Code Playgroud)
有尾随空格.
wget -q 3.ly/gzkv;figlet -f b
Run Code Online (Sandbox Code Playgroud)
样本输出:
% wget -q 3.ly/gzkv;figlet -f b ABCDEFGHIJKLMNOPQRS
A BB CC DD EEE FFF GG H H III JJ K K L M M NNN O PP Q RR SS
A A B B C D D E F G H H I J K K L MMM N N O O P P Q Q R R S
AAA BB C D D EE FF G G HHH I J KK L MMM N N O O PP Q Q RR S
A A B B C D D E F G G H H I J J K K L M M N N O O P QQ R R S
A A BB CC DD EEE F GG H H III J K K LLL M M N N O P Q R R SS
% wget -q 3.ly/gzkv;figlet -f b TUVWXYZ \!
TTT U U V V W W X X Y Y ZZZ !!!
T U U V V W W X X Y Y Z !!!
T U U V V WWW X Y Z !!!
T U U V V WWW X X Y Z
T UUU V W W X X Y ZZZ !!!
Run Code Online (Sandbox Code Playgroud)
这里最短的python解决方案的候选人:-)
这是一个双线 - 最后一行在3中被破坏了urrrr 可读性
s=raw_input()
for i in range(5):print' '.join(''.join((' ',c)[ord(
'W_E__U__QQ_QN_UQ_EA_Q]_D_Q_QYQ__D[_PP_B__F__Q__EG_Y__EZWU]A_A_P_OPO_\\_QNQWT_YUS'
[max(0,3*ord(c)-192-k)])>>i&1]for k in(2,1,0))for c in s)
Run Code Online (Sandbox Code Playgroud)
PS.感谢您的评论,更正的问题,现在只使用7位ASCII!
测试横幅:
TTT H H EEE QQQ U U III CCC K K BBB RR OOO W W N N FFF OOO X X JJJ U U M M PPP SSS OOO V V EEE RR TTT H H EEE L AAA ZZZ Y Y DD OOO GGG !!!
T H H E Q Q U U I C K K B B R R O O W W NNN F O O X J U U MMM P P S O O V V E R R T H H E L A A Z Y Y D D O O G !!!
T HHH EE Q Q U U I C KK BBB RR O O WWW NNN FF O O X J U U M M PPP SSS O O V V EE RR T HHH EE L AAA Z YYY D D O O G G !!!
T H H E QQQ U U I C K K B B R R O O WWW N N F O O X J J U U M M P S O O V V E R R T H H E L A A Z Y D D O O G G
T H H EEE QQQ UUU III CCC K K BBB R R OOO WWW N N F OOO X X JJJ UUU M M P SSS OOO V EEE R R T H H EEE LLL A A ZZZ YYY DD OOO GGG !!!
Run Code Online (Sandbox Code Playgroud)