PowerShell v2 +, 175 169 163 154 байт
($x=(-join(65..67+66..86|%{$_;32+$_}|%{[char]$_})-split'(.{6})'-ne'')+' WwXx'+' Yy'+(' '*9+'Z')|% *ht 10|%{$_+-join$_[9..0]})
' '*9+'zz'
$x[10..0]
Спробуйте в Інтернеті!
Зловживає тим, що за замовчуванням Write-Output
в кінці виконання вставляється нова лінія між елементами.
Перший рядок будує гілки. Ми перев'язуємо два діапазони, що відповідають значенням ASCII для великих літер, кожна ітерація виводить char
масив цієї літери і цієї літери +32
(що є нижньою точкою ASCII). Це -join
об'єднано в одну довгу рядок, потім -split
на кожні шість елементів (інкапсульовані в парени, щоб вони збереглися), а потім a -ne''
витягнути порожні елементи в результаті розщеплення, утворюючи таким чином масив рядків.
Ці рядки в масиві GET-масиву конкатенації , щоб додати на WwXx
, Yy
і Z
елементи, а потім в PadRig , ht 10
щоб зробити їх всю необхідну ширину. На даний момент у нас є масив рядків на зразок наступного (один елемент на рядок).
AaBbCc
BbCcDd
EeFfGg
HhIiJj
KkLlMm
NnOoPp
QqRrSs
TtUuVv
WwXx
Yy
Z
Весь цей масив передається в інший цикл для побудови дзеркальних рядків з -join
реверсуванням масиву [9..0]
.
AaBbCc cCbBaA
BbCcDd dDcCbB
EeFfGg gGfFeE
HhIiJj jJiIhH
KkLlMm mMlLkK
NnOoPp pPoOnN
QqRrSs sSrRqQ
TtUuVv vVuUtT
WwXx xXwW
Yy yY
ZZ
Ми зберігаємо отримані рядки в $x
і включаємо в парен, щоб також розмістити копію на конвеєрі.
Наступний рядок розміщує zz
рядок на конвеєрі, а потім $x
масив у зворотному порядку. Все це залишилося на конвеєрі, і вихід неявний.
PS C:\Tools\Scripts\golfing> .\alphabet-chromosome.ps1
AaBbCc cCbBaA
BbCcDd dDcCbB
EeFfGg gGfFeE
HhIiJj jJiIhH
KkLlMm mMlLkK
NnOoPp pPoOnN
QqRrSs sSrRqQ
TtUuVv vVuUtT
WwXx xXwW
Yy yY
ZZ
zz
ZZ
Yy yY
WwXx xXwW
TtUuVv vVuUtT
QqRrSs sSrRqQ
NnOoPp pPoOnN
KkLlMm mMlLkK
HhIiJj jJiIhH
EeFfGg gGfFeE
BbCcDd dDcCbB
AaBbCc cCbBaA
-9 байт завдяки мазі.