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

@@ -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():