Lasse meine Texte umschichten; hoffe, sie klappen gut zusammen und leben noch am Ende. Dafür nutze ich dies:
import random
import tkinter as tk
def insert_connections(text):
connections = ["in", "oder", ":", "hier"]
words = text.split()
new_words = []
for i in range(len(words)):
new_words.append(words[i])
# Füge alle 15 Wörter eine Verbindung hinzu
if (i + 1) % 15 == 0:
new_words.append(random.choice(connections))
return ' '.join(new_words)
def count_words(text):
word_count = len(text.split())
return f"{word_count} Patchkabel"
def swap_words(text):
words = text.split()
if len(words) < 3:
return text # Nichts zu vertauschen
words[1], words[2] = words[2], words[1]
return insert_random_line_breaks(' '.join(words))
def sort_words(text):
words = text.split()
sorted_words = sorted(words)
return insert_random_line_breaks(' '.join(sorted_words))
def insert_random_line_breaks(text):
words = text.split()
new_text = []
for i in range(len(words)):
new_text.append(words[i])
# Füge zufällige Absätze nach 2 bis 5 Wörtern hinzu
if (i + 1) % random.randint(2, 5) == 0:
new_text.append('\n\n') # Doppelte Zeilenumbrüche für Absätze
return ' '.join(new_text)
def process_text():
input_text = text_input.get("1.0", "end-1c")
output_text = input_text
if var_swap.get():
output_text = swap_words(output_text)
if var_sort.get():
output_text = sort_words(output_text)
if var_connections.get():
output_text = insert_connections(output_text)
word_count = count_words(output_text)
output_text += f"\n\n{word_count}"
output_display.delete("1.0", "end")
output_display.insert("1.0", output_text)
# GUI Setup
root = tk.Tk()
root.title("Textbearbeitungs-Tool")
text_input = tk.Text(root, height=10, width=50)
text_input.pack()
var_swap = tk.BooleanVar()
var_sort = tk.BooleanVar()
var_connections = tk.BooleanVar()
swap_check = tk.Checkbutton(root, text="Worte vertauschen", variable=var_swap)
swap_check.pack()
sort_check = tk.Checkbutton(root, text="Wörter sortieren", variable=var_sort)
sort_check.pack()
connections_check = tk.Checkbutton(root, text="Verbindungen hinzufügen", variable=var_connections)
connections_check.pack()
process_button = tk.Button(root, text="Text bearbeiten", command=process_text)
process_button.pack()
output_display = tk.Text(root, height=10, width=50)
output_display.pack()
root.mainloop()
Der Kater gähnt ausgiebig und stellt sich halbgewichtet auf die Shifttaste. Sein Atem riecht nach einem zugedeckten Fisch.