From 0fb9047c47029c1f55075580c3293e4ed51d5e41 Mon Sep 17 00:00:00 2001 From: tebarius Date: Tue, 22 Jul 2025 13:59:56 +0200 Subject: [PATCH] quersummen --- app/app.py | 30 +++++++++++++++++++++++++++++- app/tools.py | 50 +++++++++++++++++++++----------------------------- 2 files changed, 50 insertions(+), 30 deletions(-) diff --git a/app/app.py b/app/app.py index 8a761f0..505781a 100644 --- a/app/app.py +++ b/app/app.py @@ -41,6 +41,34 @@ def auswahl_verarbeiten(): elif auswahl == "Text rückwärts": st.session_state.output_text = tools.zeichenkette_rueckwaerts(text) st.session_state.map_data = None + elif auswahl == "Quersumme(n)": + st.session_state.output_text = tools.quersummen(text) + st.session_state.map_data = None + elif auswahl == "REPLACE": + st.session_state.output_text = tools.REPLACE(text) + st.session_state.map_data = None + elif auswahl == "REPLACE": + st.session_state.output_text = tools.REPLACE(text) + st.session_state.map_data = None + elif auswahl == "REPLACE": + st.session_state.output_text = tools.REPLACE(text) + st.session_state.map_data = None + elif auswahl == "REPLACE": + st.session_state.output_text = tools.REPLACE(text) + st.session_state.map_data = None + elif auswahl == "REPLACE": + st.session_state.output_text = tools.REPLACE(text) + st.session_state.map_data = None + elif auswahl == "REPLACE": + st.session_state.output_text = tools.REPLACE(text) + st.session_state.map_data = None + elif auswahl == "REPLACE": + st.session_state.output_text = tools.REPLACE(text) + st.session_state.map_data = None + elif auswahl == "REPLACE": + st.session_state.output_text = tools.REPLACE(text) + st.session_state.map_data = None + elif auswahl == "Dummy mit Karte": @@ -72,7 +100,7 @@ option = st.sidebar.radio("hidden_label", "Buchstabenwert->Text", "Zeichenzählen", "Text rückwärts", - "", + "Quersumme(n)", "", "", "", diff --git a/app/tools.py b/app/tools.py index 14c6393..4d876e8 100644 --- a/app/tools.py +++ b/app/tools.py @@ -127,7 +127,7 @@ def buchstabenwertzutext(eingabetext): eingabetext = eingabetext.rstrip() if eingabetext == "": - return ("### HILFE: [Buchstabenwerte zu Text]\n" + return ("### Buchstabenwerte zu Text\n" " Die eingegebenen Buchstabenwerte werden in die entsprechenden Buchstaben umgewandelt." " (A=1 B=2 .... Ä=27 Ö=28 Ü=29 ß=30) Als Trennungszeichen zwischen den Zahlen sind folgende" " Zeichen erlaubt: | , _ . - / ; , und Leerzeichen. Bei Verwendung von Leerzeichen sollten" @@ -175,7 +175,7 @@ def buchstabenwertzutext(eingabetext): def zeichenkette_rueckwaerts(eingabetext): eingabetext = eingabetext.rstrip() if eingabetext == "": - return ("### HILFE: [Zeichenkette rückwärts]\n" + return ("### Zeichenkette rückwärts\n" "Diese Funktion gibt die eingegebene Zeichenkette von hinten nach vorn gelesen aus.") else: return eingabetext[::-1] @@ -183,7 +183,7 @@ def zeichenkette_rueckwaerts(eingabetext): def zeichenzaehlen(eingabetext): eingabetext = eingabetext.rstrip() if eingabetext == "": - return ("### HILFE: [Zeichenzählen]\n" + return ("### Zeichenzählen\n" "Es wird das Vorkommen jedes einzelnen Zeichens gezählt und ausgegeben. Achtung! Leerzeichen," " Tabulatorzeichen und Zeilenumbrüche werden nur vor dem letzten sichtbaren Zeichen gezählt!!!") else: @@ -211,23 +211,15 @@ def zeichenzaehlen(eingabetext): ausgabetext += f"|{i}|{anzahl[i]}|\n" return ausgabetext -def quersummen(): +def quersummen(eingabetext): seperator = ("|,", "_", ".", "-", "/", ";", ",") - - eingabetext = Eingabe.get(1.0, END) eingabetext = eingabetext.rstrip() if eingabetext == "": - Ausgabe.insert(1.0, """HILFE: [Quersumme(n)] -Von den eingegebenen Zahlen werden die -Quersummen und iterierten Quersummen errechnet -und ausgegeben. -Als Trennungszeichen zwischen den Zahlen sind -folgende Zeichen erlaubt: | , _ . - / ; , und -Leerzeichen. Bei Verwendung von Leerzeichen -sollten möglichst nur 1 Leerzeichen zwischen -den Zahlen verwendet werden (überzählige -Leerzeichen werden sonst als nicht erkannte -Zeichen behandelt).""" + "\n\n") + return ("### Quersumme(n)\n" + " Von den eingegebenen Zahlen werden die Quersummen und iterierten Quersummen errechnet und ausgegeben." + " Als Trennungszeichen zwischen den Zahlen sind folgende Zeichen erlaubt: | , _ . - / ; , und" + " Leerzeichen. Bei Verwendung von Leerzeichen sollten möglichst nur 1 Leerzeichen zwischen den Zahlen" + " verwendet werden (überzählige Leerzeichen werden sonst als nicht erkannte Zeichen behandelt).") else: se = "" for s in seperator: @@ -239,11 +231,11 @@ Zeichen behandelt).""" + "\n\n") try: ausz = int(eingabetext) except ValueError: - Ausgabe.insert(1.0, "Keine Zahl oder gültiges Trennzeichen (, ; . / - _ | oder Leerzeichen) erkannt!\n", - "re") + return "Keine Zahl oder gültiges Trennzeichen (, ; . / - _ | oder Leerzeichen) erkannt!" else: - Ausgabe.insert(1.0, "Quersumme: {} iterierte Quersumme: {}\n".format(q_sum(ausz), iq_sum(ausz))) + return f"_Quersumme:_ {helper.q_sum(ausz)} \n_iterierte Quersumme:_ {helper.iq_sum(ausz)}" else: + ausgabetext = "" txt = eingabetext.split(se) qtxt = "" iqtxt = "" @@ -254,16 +246,16 @@ Zeichen behandelt).""" + "\n\n") except ValueError: ignor = ignor + str(z) + " " else: - qtxt = qtxt + str(q_sum(az)) + "/" - iqtxt = iqtxt + str(iq_sum(az)) + "/" - Ausgabe.insert(1.0, iqtxt[:-1] + "\n") - Ausgabe.insert(1.0, "iterierte Quersummen\n", "bu") - Ausgabe.insert(1.0, qtxt[:-1] + "\n") - Ausgabe.insert(1.0, "Quersummen:\n", "bu") + qtxt = qtxt + str(helper.q_sum(az)) + "/" + iqtxt = iqtxt + str(helper.iq_sum(az)) + "/" if ignor != "": - Ausgabe.insert(1.0, ignor + "\n") - Ausgabe.insert(1.0, "Achtung nicht erkannte Zeichen:\n", "re") - + ausgabetext += "_Achtung nicht erkannte Zeichen:_ \n" + ausgabetext += ignor + " \n" + ausgabetext += "_Quersummen:_ \n" + ausgabetext += qtxt[:-1] + " \n" + ausgabetext += "_iterierte Quersummen_ \n" + ausgabetext += iqtxt[:-1] + return ausgabetext def einschluessemit4():