Post by Heinz LohmannROT1 hat für mich schon gereicht.
Die neuen Programmversion findet nun selbständig die
richtige Rot-Zahl: Das richtige Ergebnis erscheint ganz
oben.
Dazu interpretiert das Programm alle Paare zweier direkt
aufeinanderfolgender Konsonanten als einen Fehler.
Das richtige Ergebnis hat dann nur drei Fehler - mit
deutlichem Abstand zum Zweitplazierten mit fünf Fehlern.
Das wird sicher nicht immer gelingen, aber das richtige
Ergebnis wird auf diese Weise meist weiter oben zu finden
sein.
main.py
def rot( n, s ):
result = []
for c in s:
i = ord( c )
for a in ord( 'a' ), ord( 'A' ):
d = i - a
if 0 <= d < 26:
c = d + n; c %= 26; c += a; c = chr( c )
result += c
return ''.join( result )
c = 'BCDFGHJKLMNPQRSTVWXYZbcdfghjklmnpqrstvwxyz'
d = []
for n in range( 26 ):
t = rot( n, "... voe ovo mpt nju Evefo-Cbtijoh!" )
o = 0
for p in zip( t[ 1: ], t ):
if p[ 0 ] in c and p[ 1 ] in c: o += 1
d.append( f'{o:02} Rot-{n:02} "{t}"' )
for s in sorted( d ): print( s )
Protokoll
03 Rot-25 "... und nun los mit Duden-Bashing!"
05 Rot-00 "... voe ovo mpt nju Evefo-Cbtijoh!"
07 Rot-05 "... atj tat ruy soz Jajkt-Hgynotm!"
07 Rot-06 "... buk ubu svz tpa Kbklu-Ihzopun!"
08 Rot-12 "... haq aha ybf zvg Qhqra-Onfuvat!"
08 Rot-16 "... leu ele cfj dzk Uluve-Srjyzex!"
08 Rot-19 "... ohx hoh fim gcn Xoxyh-Vumbcha!"
09 Rot-13 "... ibr bib zcg awh Rirsb-Pogvwbu!"
09 Rot-21 "... qjz jqj hko iep Zqzaj-Xwodejc!"
10 Rot-11 "... gzp zgz xae yuf Pgpqz-Nmetuzs!"
10 Rot-20 "... piy ipi gjn hdo Ypyzi-Wvncdib!"
11 Rot-09 "... exn xex vyc wsd Nenox-Lkcrsxq!"
11 Rot-22 "... rka krk ilp jfq Arabk-Yxpefkd!"
12 Rot-07 "... cvl vcv twa uqb Lclmv-Jiapqvo!"
12 Rot-15 "... kdt dkd bei cyj Tktud-Rqixydw!"
13 Rot-01 "... wpf pwp nqu okv Fwfgp-Dcujkpi!"
13 Rot-10 "... fyo yfy wzd xte Ofopy-Mldstyr!"
14 Rot-03 "... yrh ryr psw qmx Hyhir-Fewlmrk!"
14 Rot-04 "... zsi szs qtx rny Izijs-Gfxmnsl!"
14 Rot-17 "... mfv fmf dgk eal Vmvwf-Tskzafy!"
14 Rot-18 "... ngw gng ehl fbm Wnwxg-Utlabgz!"
16 Rot-02 "... xqg qxq orv plw Gxghq-Edvklqj!"
16 Rot-14 "... jcs cjc adh bxi Sjstc-Qphwxcv!"
17 Rot-08 "... dwm wdw uxb vrc Mdmnw-Kjbqrwp!"
17 Rot-23 "... slb lsl jmq kgr Bsbcl-Zyqfgle!"
17 Rot-24 "... tmc mtm knr lhs Ctcdm-Azrghmf!"