mirror of
https://github.com/JonasunderscoreJones/EPI-2324.git
synced 2025-10-23 16:39:21 +02:00
gpr ue10
This commit is contained in:
parent
df295d1dfd
commit
fb96e238c1
6 changed files with 133 additions and 0 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -9,3 +9,4 @@ __pycache__
|
||||||
|
|
||||||
/GPR/ue03/gpr_blatt03_7987847_werner.zip
|
/GPR/ue03/gpr_blatt03_7987847_werner.zip
|
||||||
/GPR/ue05/7987847_gpr-blatt05.zip
|
/GPR/ue05/7987847_gpr-blatt05.zip
|
||||||
|
/GPR/ue05/7987847_gpr-blatt10.zip
|
||||||
|
|
BIN
GPR/ue10/7987847_gpr-blatt10.zip
Normal file
BIN
GPR/ue10/7987847_gpr-blatt10.zip
Normal file
Binary file not shown.
7
GPR/ue10/Kleopatra.txt
Normal file
7
GPR/ue10/Kleopatra.txt
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
Kleopatra (* 69 v. Chr. in Alexandria; † 30 v. Chr. ebenda) war eine der bekanntesten Herrscherinnen des antiken Ägyptens. Als letzte Pharaonin der Ptolemäer-Dynastie erlebte sie dramatische politische Umwälzungen und Intrigen.
|
||||||
|
|
||||||
|
Als Geliebte von Gaius Iulius Caesar und später von Marcus Antonius spielte Kleopatra eine entscheidende Rolle in den Machtkämpfen dieser Zeit. Nach dem Tod von Caesar im Jahr 44 v. Chr. kehrte sie nach Ägypten zurück und stand vor der Herausforderung, ihr Reich zu stabilisieren.
|
||||||
|
|
||||||
|
Die Schlacht bei Actium im Jahr 31 v. Chr. markierte einen Wendepunkt in ihrem Schicksal, als sie an der Seite von Marcus Antonius gegen Octavian (der spätere Kaiser Augustus) kämpfte und letztendlich unterlag. Nach dem Selbstmord von Antonius im Jahr 30 v. Chr. fiel Ägypten unter die Kontrolle von Augustus, der Kleopatra gefangen nahm.
|
||||||
|
|
||||||
|
Kleopatras Tod im Jahr 30 v. Chr. durch den Biss einer Kobra symbolisierte das Ende einer Ära und den Beginn der römischen Vorherrschaft über Ägypten. Ihre Lebensgeschichte bleibt bis heute faszinierend und hat zahlreiche kulturelle und literarische Werke inspiriert.
|
34
GPR/ue10/README.md.txt
Normal file
34
GPR/ue10/README.md.txt
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
__author__ = "7987847, Werner"
|
||||||
|
|
||||||
|
# Aufgabe 2 a) iii)
|
||||||
|
|
||||||
|
Mit Zeichenketten wie '52515' wird wie folgt umgegangen:
|
||||||
|
|
||||||
|
- Es werden die strings '52', '525', '25', '251', '51', '515' und '15' erkannt.
|
||||||
|
- Dies liegt daran, dass es keine Rolle spielt, ob vor oder nach der mehr-als-2-oder-3-stelligen Zahlenkette ein nicht numerisches Zeichen kommt. Somit enthält die Zeichenkette mehrere kürzere Zeichenketten
|
||||||
|
|
||||||
|
# Aufgabe 2 b)
|
||||||
|
|
||||||
|
Der reguläre Ausdruck stellt eine typische Email Adresse dar:
|
||||||
|
|
||||||
|
- ´^[A-Za-z0-9._%+-]+´: Beginnt mit mindestens einem alphanumerischen Zeichen oder den erlaubten Sonderzeichen (. _ % + -)
|
||||||
|
- `@`: Enthält das "@"-Symbol
|
||||||
|
- `[A-Za-z0-9.-]+`: Enthält mindestens ein alphanumerisches Zeichen oder einen Punkt zwischen "@" und der Domain
|
||||||
|
- `\.`: Enthält einen Punkt vor der Top-Level-Domain
|
||||||
|
- `[A-Z|a-z]{2,}$`: Endet mit mindestens zwei alphanumerischen Zeichen (Top-Level-Domain)
|
||||||
|
|
||||||
|
# Dokumentation *main.py*
|
||||||
|
|
||||||
|
Zur Nutzung muss eine kompatible Python version installiert sein.
|
||||||
|
Akzeptiert werden alle Python 3.x Versionen.
|
||||||
|
|
||||||
|
Das Programm kann mit dem Befehl `python3 main.py` im Ordner gestartet werden.
|
||||||
|
|
||||||
|
Nach dem Start wird die Datei `Kleopatra.txt` eingelesen und Kleopatra's weibliche Pronomen durch mänliche ausgetauscht.
|
||||||
|
Das Ergebnis wird ind er Konsole Ausgegeben.
|
||||||
|
|
||||||
|
Anschließend wird die Datei `Wortgitter_mitZahlen.txt` eingelesen und folgendes in der Konsole Ausgegeben:
|
||||||
|
|
||||||
|
i) Das Erste Vorkommen einer 0 gevolgt von einer Zahl und anschließend eines Buchstabens
|
||||||
|
ii) Alle Vorkommen aus i)
|
||||||
|
iii) Alle Zeichenfolgen aus 2 oder 3 Ziffern
|
25
GPR/ue10/Wortgitter_mitZahlen.txt
Normal file
25
GPR/ue10/Wortgitter_mitZahlen.txt
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
17I7KJOU8HRUDIJ1P3YFFQX8ILOB46UKP4L7E9CKH94GN6PNKJ
|
||||||
|
LNBGM8P6WVDKGYOL2ZHBL5JK7DBLZK53S3TBCZRNLAT40S13II
|
||||||
|
UE8EHJ9VC9FW03YA68E6TUQS9IL56A560CC6YUVZO4ROAXH3SG
|
||||||
|
KPFS4ZKVVG0HRNC5L4XN1KVG9YYFA66WGBKOO04D0TA9U6363Q
|
||||||
|
IBSFLZZBM80DSYDN04P69UUZZPNVKD3U9PGFWJ5RY7LX304AOQ
|
||||||
|
GI7PRJFL5HG2T01WP5EUH7OET3KXLCL51DWJRV8VN9KMK91QQ6
|
||||||
|
LA1MQHRB9Z1EJ5T1TJR6EP97I9AQ59G6TQ7MZJDPLU2EZQ681C
|
||||||
|
0YR9CFQWKVKYYQHZ515ZP361UUWT363XYW2LRZLIVY3H3BG12H
|
||||||
|
GYB9LVGYUN4IYD83ARQQ3O49VA9LFHQF6D5B44YDCTIWVI1I0Z
|
||||||
|
B0E7BGWNR3GO85C8SO214H126JFB2QTJGVVOI6QTF7HXOCAXOL
|
||||||
|
1FN3XZKMWTFM5II80STDBIJS69C3GR46EJWHZVQZ8FMI8C4F8Z
|
||||||
|
LH0LPQBZIVGL6EGWRVNIZ0BWBD3SXKBQ52515QFPW42CIOCDAT
|
||||||
|
JX02RAYBAWB50CZQ2DPAHM0C3IC798SFWZF8HPVYR58R0QDTKZ
|
||||||
|
MIUY6R92RY8NSGUQ818VOZILM8XA552GGGTB22EK03OX1WFM8L
|
||||||
|
Z3DL0CQ1YD67ZSX4J8A3M52DHU0XEM7FSJUW13QMIK57T7IUNI
|
||||||
|
OJ82EROB735XA0RUGCK8FUAQSA6QKFURPRD6C2T5J0TLMPG4CB
|
||||||
|
7RSDZ70XZSV8MKMSU4S5Q5W3OWPD4LBM13RWEX2VLKC7ASGLNG
|
||||||
|
ML5KAQX11SP4VNF2XYT93U63RTMS4TXP09VNY0H4KYLZNQZ4SF
|
||||||
|
1OARDDAH1E06NN7C095JN5O2RWHB0CEN198I6TEABWPC26WUQR
|
||||||
|
XJRSDLYJ48I8S0C5VLA3KOM6JQLUB26KVYOW2INU3L58EWDUWH
|
||||||
|
311ZU721EN2HLE4QBL571NQZJQ0I9Y7GL2T2YWLXA6DO622TJO
|
||||||
|
2RFXMZLVCKA77LCQUQJ7X5I20NZ5G86EOECTY40R5J8YYBMYFM
|
||||||
|
KOQ52BOBOMZCNHC2POTRW5FITFU4GIG7J897DLEKBNAUXTNO7U
|
||||||
|
L06D55N9K6I27LCIOG6VWTH6HOO0ZRXZXQ4YUUPQ3QEMLFBOOC
|
||||||
|
TPB5C9EP39B8J8BCDJO2X3T3HFHN2055YLYIMCG8BTWI6YG9VO
|
66
GPR/ue10/main.py
Normal file
66
GPR/ue10/main.py
Normal file
|
@ -0,0 +1,66 @@
|
||||||
|
'''GPR Übung 10 - Reguläre Ausdrücke'''
|
||||||
|
__author__ = "7987847, Werner"
|
||||||
|
|
||||||
|
import re
|
||||||
|
|
||||||
|
def cleopatra_change_gender():
|
||||||
|
'''
|
||||||
|
Lies den Text aus der Datei "Kleopatra.txt" ein und ersetze alle Vorkommen von "sie" durch "er".
|
||||||
|
Gib den modifizierten Text auf der Konsole aus.
|
||||||
|
'''
|
||||||
|
# Dateipfad zum Text
|
||||||
|
dateipfad = "Kleopatra.txt"
|
||||||
|
|
||||||
|
try:
|
||||||
|
# Text aus der Datei lesen
|
||||||
|
with open(dateipfad, 'r', encoding='utf-8') as datei:
|
||||||
|
text = datei.read()
|
||||||
|
|
||||||
|
# Verwende die sub()-Funktion, um "sie" durch "er" zu ersetzen
|
||||||
|
modifizierter_text = re.sub(r'\bsie\b', 'er', text, flags=re.IGNORECASE)
|
||||||
|
modifizierter_text = re.sub(r'\bIhre\b', 'Seine', modifizierter_text, flags=re.IGNORECASE)
|
||||||
|
|
||||||
|
# Gib den modifizierten Text auf der Konsole aus
|
||||||
|
print(modifizierter_text)
|
||||||
|
|
||||||
|
except FileNotFoundError:
|
||||||
|
print(f"Die Datei {dateipfad} wurde nicht gefunden.")
|
||||||
|
|
||||||
|
def find_patterns_in_text():
|
||||||
|
'''
|
||||||
|
Lies den Text aus der Datei "Wortgitter_mitZahlen.txt" ein und finde folgende Muster:
|
||||||
|
i) Findet das erste Vorkommen von Zeichenfolgen, die mit einer Null starten,
|
||||||
|
gefolgt von einer Zahl und einem Buchstaben
|
||||||
|
ii) Findet alle Vorkommen von Zeichenfolgen mit 2 oder 3 Zahlen hintereinander
|
||||||
|
|
||||||
|
Gib die gefundenen Muster auf der Konsole aus.
|
||||||
|
'''
|
||||||
|
# Dateipfad zum Text
|
||||||
|
dateipfad = "Wortgitter_mitZahlen.txt"
|
||||||
|
|
||||||
|
try:
|
||||||
|
# Text aus der Datei lesen
|
||||||
|
with open(dateipfad, 'r', encoding='utf-8') as datei:
|
||||||
|
text = datei.read()
|
||||||
|
|
||||||
|
# i) Findet das erste Vorkommen von Zeichenfolgen, die mit einer Null starten,
|
||||||
|
# gefolgt von einer Zahl und einem Buchstaben
|
||||||
|
pattern_i = re.findall(r'0[0-9][A-Za-z]', text)
|
||||||
|
print("i. Erstes gefundenes Muster:")
|
||||||
|
print(pattern_i[0] if len(pattern_i) > 0 else "Kein Muster gefunden.")
|
||||||
|
|
||||||
|
# ii) Alle vorkommen aus i)
|
||||||
|
print("\nii. Alle gefundenen Muster:")
|
||||||
|
print(pattern_i)
|
||||||
|
|
||||||
|
# iii) Findet alle Vorkommen von Zeichenfolgen mit 2 oder 3 Zahlen hintereinander
|
||||||
|
pattern_iii = re.findall(r'\d{2,3}', text)
|
||||||
|
print("\niii. Gefundene Muster:")
|
||||||
|
print(pattern_iii)
|
||||||
|
|
||||||
|
except FileNotFoundError:
|
||||||
|
print(f"Die Datei {dateipfad} wurde nicht gefunden.")
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
cleopatra_change_gender()
|
||||||
|
find_patterns_in_text()
|
Loading…
Add table
Add a link
Reference in a new issue