PowerShell v2 +, 175 169 163 154 octets
($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]
Essayez-le en ligne!
Abuse le fait que la valeur par défaut Write-Output
à la fin de l'exécution insère une nouvelle ligne entre les éléments.
La première ligne construit les branches. Nous bouclons sur deux plages correspondant aux valeurs ASCII pour les lettres majuscules, chaque itération génère un char
tableau de cette lettre et de cette lettre +32
(qui est le point ASCII minuscule). C'est -join
édité ensemble dans une longue chaîne, puis -split
tous les six éléments (encapsulés en parens afin qu'ils soient préservés), suivi d'un -ne''
pour extraire les éléments vides à la suite de la division, formant ainsi un tableau de chaînes.
Ces chaînes dans un tableau get-concaténation de tableau pour ajouter les WwXx
, Yy
et les Z
éléments, puis un Padrig ht 10
pour les faire toute la largeur appropriée. À ce stade, nous avons un tableau de chaînes comme le suivant (un élément par ligne).
AaBbCc
BbCcDd
EeFfGg
HhIiJj
KkLlMm
NnOoPp
QqRrSs
TtUuVv
WwXx
Yy
Z
Ce tableau entier est dirigé vers une autre boucle pour construire les chaînes en miroir avec -join
et inverser le tableau [9..0]
.
AaBbCc cCbBaA
BbCcDd dDcCbB
EeFfGg gGfFeE
HhIiJj jJiIhH
KkLlMm mMlLkK
NnOoPp pPoOnN
QqRrSs sSrRqQ
TtUuVv vVuUtT
WwXx xXwW
Yy yY
ZZ
Nous enregistrons les chaînes résultantes $x
et les mettons entre parenthèses pour en placer également une copie sur le pipeline.
La ligne suivante place la zz
chaîne sur le pipeline, puis le $x
tableau dans l'ordre inverse. Tous ces éléments sont laissés sur le pipeline et la sortie est implicite.
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 octets grâce à mazzy.