quersummen

This commit is contained in:
2025-07-22 13:59:56 +02:00
parent 5ed64edcef
commit 0fb9047c47
2 changed files with 50 additions and 30 deletions

View File

@@ -41,6 +41,34 @@ def auswahl_verarbeiten():
elif auswahl == "Text rückwärts": elif auswahl == "Text rückwärts":
st.session_state.output_text = tools.zeichenkette_rueckwaerts(text) st.session_state.output_text = tools.zeichenkette_rueckwaerts(text)
st.session_state.map_data = None 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": elif auswahl == "Dummy mit Karte":
@@ -72,7 +100,7 @@ option = st.sidebar.radio("hidden_label",
"Buchstabenwert->Text", "Buchstabenwert->Text",
"Zeichenzählen", "Zeichenzählen",
"Text rückwärts", "Text rückwärts",
"", "Quersumme(n)",
"", "",
"", "",
"", "",

View File

@@ -127,7 +127,7 @@ def buchstabenwertzutext(eingabetext):
eingabetext = eingabetext.rstrip() eingabetext = eingabetext.rstrip()
if eingabetext == "": if eingabetext == "":
return ("### HILFE: [Buchstabenwerte zu Text]\n" return ("### Buchstabenwerte zu Text\n"
" Die eingegebenen Buchstabenwerte werden in die entsprechenden Buchstaben umgewandelt." " Die eingegebenen Buchstabenwerte werden in die entsprechenden Buchstaben umgewandelt."
" (A=1 B=2 .... Ä=27 Ö=28 Ü=29 ß=30) Als Trennungszeichen zwischen den Zahlen sind folgende" " (A=1 B=2 .... Ä=27 Ö=28 Ü=29 ß=30) Als Trennungszeichen zwischen den Zahlen sind folgende"
" Zeichen erlaubt: | , _ . - / ; , und Leerzeichen. Bei Verwendung von Leerzeichen sollten" " Zeichen erlaubt: | , _ . - / ; , und Leerzeichen. Bei Verwendung von Leerzeichen sollten"
@@ -175,7 +175,7 @@ def buchstabenwertzutext(eingabetext):
def zeichenkette_rueckwaerts(eingabetext): def zeichenkette_rueckwaerts(eingabetext):
eingabetext = eingabetext.rstrip() eingabetext = eingabetext.rstrip()
if eingabetext == "": 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.") "Diese Funktion gibt die eingegebene Zeichenkette von hinten nach vorn gelesen aus.")
else: else:
return eingabetext[::-1] return eingabetext[::-1]
@@ -183,7 +183,7 @@ def zeichenkette_rueckwaerts(eingabetext):
def zeichenzaehlen(eingabetext): def zeichenzaehlen(eingabetext):
eingabetext = eingabetext.rstrip() eingabetext = eingabetext.rstrip()
if eingabetext == "": if eingabetext == "":
return ("### HILFE: [Zeichenzählen]\n" return ("### Zeichenzählen\n"
"Es wird das Vorkommen jedes einzelnen Zeichens gezählt und ausgegeben. Achtung! Leerzeichen," "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!!!") " Tabulatorzeichen und Zeilenumbrüche werden nur vor dem letzten sichtbaren Zeichen gezählt!!!")
else: else:
@@ -211,23 +211,15 @@ def zeichenzaehlen(eingabetext):
ausgabetext += f"|{i}|{anzahl[i]}|\n" ausgabetext += f"|{i}|{anzahl[i]}|\n"
return ausgabetext return ausgabetext
def quersummen(): def quersummen(eingabetext):
seperator = ("|,", "_", ".", "-", "/", ";", ",") seperator = ("|,", "_", ".", "-", "/", ";", ",")
eingabetext = Eingabe.get(1.0, END)
eingabetext = eingabetext.rstrip() eingabetext = eingabetext.rstrip()
if eingabetext == "": if eingabetext == "":
Ausgabe.insert(1.0, """HILFE: [Quersumme(n)] return ("### Quersumme(n)\n"
Von den eingegebenen Zahlen werden die " Von den eingegebenen Zahlen werden die Quersummen und iterierten Quersummen errechnet und ausgegeben."
Quersummen und iterierten Quersummen errechnet " Als Trennungszeichen zwischen den Zahlen sind folgende Zeichen erlaubt: | , _ . - / ; , und"
und ausgegeben. " Leerzeichen. Bei Verwendung von Leerzeichen sollten möglichst nur 1 Leerzeichen zwischen den Zahlen"
Als Trennungszeichen zwischen den Zahlen sind " verwendet werden (überzählige Leerzeichen werden sonst als nicht erkannte Zeichen behandelt).")
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")
else: else:
se = "" se = ""
for s in seperator: for s in seperator:
@@ -239,11 +231,11 @@ Zeichen behandelt).""" + "\n\n")
try: try:
ausz = int(eingabetext) ausz = int(eingabetext)
except ValueError: except ValueError:
Ausgabe.insert(1.0, "Keine Zahl oder gültiges Trennzeichen (, ; . / - _ | oder Leerzeichen) erkannt!\n", return "Keine Zahl oder gültiges Trennzeichen (, ; . / - _ | oder Leerzeichen) erkannt!"
"re")
else: 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: else:
ausgabetext = ""
txt = eingabetext.split(se) txt = eingabetext.split(se)
qtxt = "" qtxt = ""
iqtxt = "" iqtxt = ""
@@ -254,16 +246,16 @@ Zeichen behandelt).""" + "\n\n")
except ValueError: except ValueError:
ignor = ignor + str(z) + " " ignor = ignor + str(z) + " "
else: else:
qtxt = qtxt + str(q_sum(az)) + "/" qtxt = qtxt + str(helper.q_sum(az)) + "/"
iqtxt = iqtxt + str(iq_sum(az)) + "/" iqtxt = iqtxt + str(helper.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")
if ignor != "": if ignor != "":
Ausgabe.insert(1.0, ignor + "\n") ausgabetext += "_Achtung nicht erkannte Zeichen:_ \n"
Ausgabe.insert(1.0, "Achtung nicht erkannte Zeichen:\n", "re") ausgabetext += ignor + " \n"
ausgabetext += "_Quersummen:_ \n"
ausgabetext += qtxt[:-1] + " \n"
ausgabetext += "_iterierte Quersummen_ \n"
ausgabetext += iqtxt[:-1]
return ausgabetext
def einschluessemit4(): def einschluessemit4():