Ein einfaches Suchen & Ersetzen:

#!/usr/bin/env python3
from tkinter import *
import tkinter as tk
root = Tk()
root.geometry("500x600")
root.title("Find and Replace")
def find_replace():
eingabe = eingabefeld.get("1.0", tk.END)
suchen = zu_suchen.get()
ersetzen = zu_ersetzen.get()
if suchen and ersetzen:
abschluss = eingabe.replace(suchen, ersetzen)
ausgabefeld.delete("1.0", tk.END)
ausgabefeld.insert(tk.END, abschluss)
else:
ausgabefeld.delete("1.0", tk.END)
ausgabefeld.insert(tk.END, "Bitte geben Sie sowohl den zu suchenden als auch den zu ersetzenden Text ein.")
def create_popup_menu(widget):
menu = tk.Menu(widget, tearoff=0)
menu.add_command(label="Ausschneiden", command=lambda: widget.event_generate("<<Cut>>"))
menu.add_command(label="Kopieren", command=lambda: widget.event_generate("<<Copy>>"))
menu.add_command(label="Einfügen", command=lambda: widget.event_generate("<<Paste>>"))
return menu
def show_popup_menu(event):
widget = event.widget
menu = create_popup_menu(widget)
menu.tk_popup(event.x_root, event.y_root)
def eingaben_loeschen():
eingabefeld.delete("1.0",tk.END)
ausgabefeld.delete("1.0",tk.END)
# GUI
# Erstellen Sie die Scrollbar vor den Text-Widgets
scrollbar = Scrollbar(root)
scrollbar.pack(side=RIGHT, fill=Y)
eingabefeld = tk.Text(master=root, width=60, height=10, wrap='word', yscrollcommand=scrollbar.set)
eingabefeld.bind("<Button-3>", show_popup_menu)
eingabefeld.pack(pady=10)
zu_suchen = tk.Entry(master=root, width=40)
zu_suchen.pack(pady=5)
zu_suchen.insert(0, "Zu suchender Text")
zu_suchen.bind("<Button-3>", show_popup_menu)
zu_ersetzen = tk.Entry(master=root, width=40)
zu_ersetzen.pack(pady=5)
zu_ersetzen.insert(0, "Zu ersetzender Text")
zu_ersetzen.bind("<Button-3>", show_popup_menu)
ausgabefeld = tk.Text(master=root, width=60, height=10, yscrollcommand=scrollbar.set)
ausgabefeld.pack(pady=10)
ausgabefeld.bind("<Button-3>", show_popup_menu)
button = Button(text="Find - Replace ausführen", command=find_replace)
button.pack(pady=10)
button1 =Button(text="Eingaben löschen", command=eingaben_loeschen)
button1.pack()
# Konfigurieren Sie die Scrollbar, um beide Text-Widgets zu scrollen
scrollbar.config(command=lambda *args: (eingabefeld.yview(*args), ausgabefeld.yview(*args)))
root.mainloop()

from tkinter import *
import tkinter as tk
import pickle
import re
import tkinter.messagebox
# Globale Variable für das Dictionary
russisch_dict = {}
def load_dictionary():
global russisch_dict
try:
with open('russisch-dict.pkl', 'rb') as f:
russisch_dict = pickle.load(f)
except FileNotFoundError:
russisch_dict = {
"сбн.": "fM",
"уб": "Abn",
"пр.": "Zun"
}
save_dictionary()
except Exception as e:
tkinter.messagebox.showerror(title="Fehler", message=f"Fehler beim Laden: {str(e)}")
def save_dictionary():
with open('russisch-dict.pkl', 'wb') as f:
pickle.dump(russisch_dict, f)
def hinzufuegen():
global russisch_dict
russisch = eingabefeld_russisch.get("1.0", END).strip()
deutsch = eingabefeld_deutsch.get("1.0", END).strip()
if russisch and deutsch:
russisch_dict[russisch] = deutsch
save_dictionary()
print(f"Eintrag hinzugefügt: {russisch} -> {deutsch}")
tkinter.messagebox.showinfo(title="Eintrag ok", message="Eintrag erfolgreich hinzugefügt")
print("Aktuelles Dictionary:", russisch_dict)
eingabefeld_russisch.delete("1.0", END)
eingabefeld_deutsch.delete("1.0", END)
else:
print("Bitte beide Felder ausfüllen!")
def uebersetzen():
eingabe_text = eingabefeld.get("1.0", END).strip()
zeilen = eingabe_text.split('\n')
uebersetzt = []
for zeile in zeilen:
elemente = re.findall(r'\d+pb-?|\d+aum|an\.mág\.de|\w+\.?|\([^)]*\)|:', zeile)
uebersetzt_zeile = []
for element in elemente:
if element.isdigit() or element == ':' or element.startswith('('):
uebersetzt_zeile.append(element)
else:
uebersetztes_element = element
for key, value in russisch_dict.items():
uebersetztes_element = uebersetztes_element.replace(key, value)
uebersetzt_zeile.append(uebersetztes_element)
uebersetzt.append(' '.join(uebersetzt_zeile))
ergebnis = '\n'.join(uebersetzt)
ausgabefeld.delete("1.0", END)
ausgabefeld.insert(END, ergebnis)
def felder_loeschen():
eingabefeld.delete("1.0", END)
ausgabefeld.delete("1.0", END)
def kopieren():
root.clipboard_clear()
root.clipboard_append(ausgabefeld.get("1.0", END))
def show_dictionary():
try:
popup = tk.Toplevel()
popup.title("Dictionary Inhalt")
text_widget = tk.Text(popup, wrap=tk.WORD, width=40, height=20)
text_widget.pack(padx=10, pady=10)
for key, value in russisch_dict.items():
text_widget.insert(tk.END, f"{key}: {value}\n")
text_widget.config(state=tk.DISABLED)
except Exception as e:
messagebox.showerror("Fehler", f"Fehler beim Anzeigen des Dictionaries: {str(e)}")
# Laden Sie das Dictionary beim Programmstart
load_dictionary()
# GUI erstellen
root = Tk()
root.title("Häkelanleitung Übersetzer")
root.geometry("500x1000")
eingabefeld = Text(root, height=20, width=50)
eingabefeld.pack(pady=10)
top_frame = Frame(root)
top_frame.pack(pady=5)
bestaetigung = Button(top_frame, text="Auf deutsch übersetzen", command=uebersetzen)
bestaetigung.pack(side=LEFT, padx=5)
kopieren_button = Button(top_frame, text="Übersetzung kopieren", command=kopieren)
kopieren_button.pack(side=LEFT, padx=5)
loeschen_button = Button(top_frame, text="Eingaben löschen", command=felder_loeschen)
loeschen_button.pack(side=LEFT, padx=5)
abbrechen_button = Button(root, text="Abbrechen", command=root.destroy)
abbrechen_button.pack(pady=5)
ausgabefeld = Text(root, height=20, width=50)
ausgabefeld.pack(pady=10)
Label(root, text="russischer Begriff:").pack(pady=5)
eingabefeld_russisch = Text(root, height=2, width=30)
eingabefeld_russisch.pack(pady=10)
Label(root, text="Deutsche Übersetzung:").pack(pady=5)
eingabefeld_deutsch = Text(root, height=2, width=30)
eingabefeld_deutsch.pack(pady=10)
Button(root, text="Hinzufügen", command=hinzufuegen).pack(pady=10)
show_dict_button = Button(root, text="Dictionary anzeigen", command=show_dictionary)
show_dict_button.pack(pady=5)
root.mainloop()

fm=1
runde=3
gesamt=18
print ("Runde 1: 6 fM in den Maschenring")
print ("Runde 2: jede Masche verdoppeln")
for i in range (1,50,1):
print ("Runde ",runde,":(",fm,"fM,Zun)*6 =",gesamt)
runde=runde+1
fm=fm+1
gesamt=runde*6

print ("Bitte eine Zahl größer 5 und kleiner 15 eingeben")
zahl=int(input())
if zahl < 5:
print ("Die Zahl ist nicht größer als 5")
if zahl > 15:
print ("Die Zahl ist größer als 15")
else:
print ("Die Zahl ist korrekt")

from tkinter import *
import tkinter as tk
# Fenster erstellen
root = Tk()
root.title("Reihen- / Rundenzähler")
root.geometry('250x300')
# Funktion zum Erhöhen des Zählers
def increment():
current = int(count.get())
current += 1
count.set(current)
label.config(text=f"Aktuelle Reihe/Runde: {current}")
# Label für die Eingabeaufforderung
label1 = tk.Label(root, text="Zählerwert, mit dem begonnen werden soll:")
label1.pack(pady=10)
# Eingabefeld für den Startwert
count = tk.StringVar(value="0")
entry = tk.Entry(root, textvariable=count)
entry.pack()
# Button erstellen
zaehler = tk.Button(root, text="+ 1 Reihe / Runde", command=increment)
zaehler.pack(pady=20)
# Label zur Anzeige des aktuellen Zählerstands
label = tk.Label(root, font=20, text="Aktuelle Reihe/Runde: 0")
label.pack()
root.mainloop()