+# Index koincidence
+if mod_m:
+ analyza.append("\nIndex koincidence (s mezerami):")
+ analyza.append('{0:.2%}'.format(
+ koincidence.index_koincidence(zprava, True)))
+if mod_x and len(zprava) >= 10:
+ #TODO tady by se spravne mela porovnavat delka ocesane zpravy
+ analyza.append("\nIndexy koincidence (bez mezer):")
+ analyza.append(koincidence.tabulka_indexu(zprava))
+
+# Vigenere
+if 'V' in opsny:
+ # TODO?poradne cteni opsnu
+ analyza.append("\nHeslo k Vigenerovi (" + opsny[-1] + "):")
+ vig_heslo, vig_text = vigenere.vsechno(zprava, int(opsny[-1]))
+ analyza.append(vig_heslo)
+ analyza.append(vig_text)
+
+# Jakobsen
+if mod_m:
+ analyza.append("\nJakobsen (s mezerami):")
+ analyza.append(jakobsen.desifruj(zprava))
+if mod_x:
+ analyza.append("\nJakobsen (bez mezer):")
+ analyza.append(jakobsen.desifruj(zprava, False))
+
+# Posuny v abecede
+(posun, posunuty_text) = posuny.nejlepsi(zprava)
+if 'P' in opsny or 'A' in opsny:
+ analyza.append("\nPosuny v abecede (nejlepsi posun {0}):".format(posun))
+ analyza.append("\n".join("{0:>2} {1}".format(
+ i + 1, posuny.vsechny(zprava)[i]) for i in range(26)))
+else:
+ analyza.append("\nNejlepsi posun ({0}):".format(posun))
+ analyza.append(posunuty_text)
+