PowerShell v2 +, 175 169 163 154 bayt
($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]
Çevrimiçi deneyin!
Write-Output
Yürütme sonunda varsayılan öğelerin arasına bir yeni satır ekler.
İlk satır dalları oluşturur. Büyük harflerin ASCII değerlerine karşılık gelen iki aralık üzerinde döngü yaparız, her yineleme char
o harfin ve o harfin +32
(küçük harf ASCII noktası olan) bir dizisini çıkarır. Bu -join
, uzun bir dize halinde, daha sonra -split
her altı öğede (parenler içinde kapsüllenir, böylece korunur), ardından -ne''
bölünmenin bir sonucu olarak boş öğeleri çıkarmak için bir dizi ve böylece bir dizi dizesi oluşturur.
Bir dizi olsun dizi-birleştirme içinde bu dizeleri üzerine eklemek için WwXx
, Yy
ve Z
sonra, elementlerin bir PadRig ht 10
onlara tüm uygun genişlik yapmak. Bu noktada, aşağıdaki gibi bir dizi dizimiz var (her satırda bir öğe).
AaBbCc
BbCcDd
EeFfGg
HhIiJj
KkLlMm
NnOoPp
QqRrSs
TtUuVv
WwXx
Yy
Z
Tüm dizi, yansıtılmış dizeleri -join
ve dizi tersine çevirmeyi oluşturmak için başka bir döngüye bağlanır [9..0]
.
AaBbCc cCbBaA
BbCcDd dDcCbB
EeFfGg gGfFeE
HhIiJj jJiIhH
KkLlMm mMlLkK
NnOoPp pPoOnN
QqRrSs sSrRqQ
TtUuVv vVuUtT
WwXx xXwW
Yy yY
ZZ
Elde edilen dizeleri $x
, boru hattına da bir kopya yerleştirmek için parenler içine kaydederiz.
Sonraki satır, zz
dizeyi ardışık $x
düzende , ardından dizi ters sırada yerleştirir. Bunların hepsi boru hattında kalıyor ve çıktı örtük.
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
Mazzy sayesinde -9 bayt.