This commit is contained in:
2025-07-24 22:44:59 +02:00
parent 0570911275
commit 97a096446c
2 changed files with 40 additions and 39 deletions

View File

@@ -1454,7 +1454,7 @@ def pi_suche(eingabetext):
def anagramm_suche_de(eingabetext):
eingabetext = eingabetext.rstrip()
if eingabetext == "":
return ("### Anagrammsuche mit Wörterbuch\n"
return ("### Anagrammsuche mit Wörterbuch DE\n"
"Diese Funktion benutzt eine deutsche Wörterbuchdatei vom Project "
"https://sourceforge.net/projects/germandict um zu überprüfen ob sich unter Verwendung __aller__ "
"eingegebenen Buchstaben Wörter bilden lassen, welche im Wörterbuch vorkommen.")
@@ -1508,7 +1508,7 @@ def anagramm_suche_en(eingabetext):
def wortsuche_de(eingabetext):
eingabetext = eingabetext.rstrip()
if eingabetext == "":
return ("### Wortsuche mit Wörterbuch\n"
return ("### Wortsuche mit Wörterbuch DE\n"
"Wer kennt es nicht? Man sucht ein Wort mit einer bestimmten Anzahl an Buchstaben und weiß aber z.B. "
"nur den Anfangsbuchstaben und die letzten 3 Buchstaben. Hierbei soll diese Funktion helfen. "
"Unbekannte Buchstaben werden dabei einfach durch * ersetzt. Klein-/Großschreibung in der Eingabe "
@@ -1544,7 +1544,7 @@ def wortsuche_de(eingabetext):
def wortsuche_en(eingabetext):
eingabetext = eingabetext.rstrip()
if eingabetext == "":
return ("### Wortsuche mit Wörterbuch\n"
return ("### Wortsuche mit Wörterbuch EN\n"
"Wer kennt es nicht? Man sucht ein Wort mit einer bestimmten Anzahl an Buchstaben und weiß aber z.B. "
"nur den Anfangsbuchstaben und die letzten 3 Buchstaben. Hierbei soll diese Funktion helfen. "
"Unbekannte Buchstaben werden dabei einfach durch * ersetzt. Klein-/Großschreibung in der Eingabe "
@@ -1717,7 +1717,7 @@ def t9_en(eingabetext):
'-': '1', ',': '1', '+': '0', ')': '1', '(': '1', 'SS': '7'}
eingabetext = eingabetext.rstrip()
if eingabetext == "":
return ("### T9 EN\n"
return ("### T9-EN\n"
"Mit Hilfe der englischen Wörterliste en_US-large.txt vom Project "
"https://sourceforge.net/projects/wordlist ermittelt diese Funktion alle im Wörterbuch "
"enthaltenen Wörter die zu der eingegebenen T9-kodierten Ziffernfolge passen und gibt diese aus. \n"
@@ -1742,38 +1742,30 @@ def t9_en(eingabetext):
wbfile.close()
return ausgabetext
'''
def vigenere():
hilfetext = """HILFE: [Vigenere-Chiffre]
Die Eingabe eines Schlüsselwortes ist hier erforderlich!!!
Die Vigenere-Chiffre baut auf dem Prinzip der Cesar-Chiffre
auf, wobei hier die Verschiebung jedes einzelnen Buchstaben
durch die Buchstabenwerte eines Schlüsselwortes definiert
werden. Da der zu verschlüsselnde Text im allgemeinen
länger als das Schlüsselwort ist, wird das Schlüsselwort immer
wieder wiederholt. Ist der Schlüssel mindestens genauso lang wie
der Klartext entspricht dies dann dem One-Time-Pad-Chiffre.
Der eingegebene Text wird hier mit dem eingegebenen Schlüsselwort
kodiert und dekodiert ausgegeben und zwar sowohl in der
Variante, daß Sonderzeichen Schlüsselbuchstaben verbrauchen
als auch nicht.
"""
def vigenere(eingabetext, pw):
hilfetext = ("### Vigenere-Chiffre\n"
"Die Eingabe eines Schlüsselwortes ist hier erforderlich!!! Die Vigenere-Chiffre baut auf dem Prinzip "
"der Cesar-Chiffre auf, wobei hier die Verschiebung jedes einzelnen Buchstaben durch die "
"Buchstabenwerte eines Schlüsselwortes definiert werden. Da der zu verschlüsselnde Text im "
"allgemeinen länger als das Schlüsselwort ist, wird das Schlüsselwort immer wieder wiederholt. "
"Ist der Schlüssel mindestens genauso lang wie der Klartext entspricht dies dann dem "
"One-Time-Pad-Chiffre. Der eingegebene Text wird hier mit dem eingegebenen Schlüsselwort kodiert und "
"dekodiert ausgegeben und zwar sowohl in der Variante, daß Sonderzeichen Schlüsselbuchstaben "
"verbrauchen als auch nicht.")
bw = {'A': 1, 'B': 2, 'C': 3, 'D': 4, 'E': 5, 'F': 6, 'G': 7, 'H': 8, 'I': 9, 'J': 10, 'K': 11, 'L': 12, 'M': 13,
'N': 14,
'O': 15, 'P': 16, 'Q': 17, 'R': 18, 'S': 19, 'T': 20, 'U': 21, 'V': 22, 'W': 23, 'X': 24, 'Y': 25, 'Z': 26}
ubw = {v: k for k, v in bw.items()}
eingabetext = Eingabe.get(1.0, END)
text = eingabetext.rstrip()
pw = PW_Eingabe.get()
if pw is None:
return hilfetext
pw = pw.strip()
text = eingabetext.rstrip()
if text == "" or pw == "":
Ausgabe.insert(1.0, hilfetext + "\n")
return hilfetext
else:
for b in pw:
if b.upper() not in bw:
Ausgabe.insert(1.0, "Das Passwort darf nur die Buchstaben A-Z / a-z enthalten!\n", "re")
return
return "Das Passwort darf nur die Buchstaben A-Z / a-z enthalten!"
pwl = len(pw)
encoded_text = ""
encoded_text_s = "" # wenn Leer und Sonderzeichen Schlüsselbuchstaben verbrauchen
@@ -1823,16 +1815,11 @@ als auch nicht.
else:
decoded_text += ubw[ba].lower()
decoded_text_s += ubw[bas].lower()
Ausgabe.insert(1.0, encoded_text_s + "\n")
Ausgabe.insert(1.0, "Kodiert - Sonderzeichen verbrauchen Schlüsselbuchstaben:\n", "bu")
Ausgabe.insert(1.0, decoded_text_s + "\n")
Ausgabe.insert(1.0, "Dekodiert - Sonderzeichen verbrauchen Schlüsselbuchstaben:\n", "bu")
Ausgabe.insert(1.0, encoded_text + "\n")
Ausgabe.insert(1.0, "Kodiert - normal:\n", "bu")
Ausgabe.insert(1.0, decoded_text + "\n")
Ausgabe.insert(1.0, "Dekodiert - normal:\n", "bu")
ausgabetext = f"_Dekodiert - normal:_ \n{decoded_text} \n_Kodiert - normal:_ \n{encoded_text} \n"
ausgabetext += f"_Dekodiert - Sonderzeichen verbrauchen Schlüsselbuchstaben:_ \n{decoded_text_s} \n"
ausgabetext += f"_Kodiert - Sonderzeichen verbrauchen Schlüsselbuchstaben:_ \n{encoded_text_s} \n"
return ausgabetext
'''
def wolseley():
hilfetext = """HILFE: [Wolseley-Chiffre]
Die Eingabe eines Schlüsselwortes ist hier erforderlich!!!