-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfunctions.py
More file actions
225 lines (207 loc) · 9.7 KB
/
Copy pathfunctions.py
File metadata and controls
225 lines (207 loc) · 9.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
from Dicts import dicts
# Class für die Dictionarys und Informationen über diese.
dictionarys = [dicts(1, "Deutsch-Englisch", "Dictionarys/Deutsch-Englisch.txt", "Deutsch", "Englisch"),
dicts(2, "Deutsch-Latein", "Dictionarys/Deutsch-Latein.txt", "Deutsch", "Latein")]
Liste = []
#-------------------------------------------------------------------------------
# Funktionen für das Auswählen eines Dictionarys.
def dictausgabe():
for dictionary in dictionarys:
print(dictionary.toDicts())
print("-----------------------------------------------------------------------------")
def URI() -> str:
for i in range(len(dictionarys)):
if Eingabe == dictionarys[i].id:
return dictionarys[i].URI
def openURI(URI : str, mode : str):
f = open(URI)
file = f.read()
raw_list = file.split("\n")
raw_list.pop()
f.close()
for string in raw_list:
Liste.append(string.split(":"))
del f, file, raw_list
# Funktionen für die verschiedenen Möglichkeiten im Menu.
def bearbeiten(): # Öffnet das menu zum Auswählen ob man Vokebln hinzufügen oder entfernen möchte.
while True:
befehl2 = input("eingabe oder entfernen? ")
if befehl2 == "eingabe":
eingabe()
elif befehl2 == "entfernen":
entfernen()
elif befehl2 == "#fertig":
break
def eingabe(): # Menu in dem man Vokabeln zum ausgweählten Dictionary hinzufügen kann.
while True:
file = open(URI(), "a")
deutsch = input("deutsches Wort: ")
if deutsch == "#fertig":
break
englisch = input("englisches Wort: ")
if englisch == "#fertig":
break
file.write(deutsch + ":" + englisch + "\n")
file.close()
del deutsch, englisch
def entfernen(): # Menu in dem man Vokabeln aus dem ausgweählten Dictionary entfernen kann.
while True:
f = open(URI(),"r")
line = f.read()
lines = line.split("\n")
f.close()
line = str(lines)
print(line)
zuentfernen = input(" Tippe den kompletten Namen der zu entfernenden Vokabel ein. ")
if zuentfernen == "#fertig":
break
else:
if zuentfernen in line:
line = line.replace(zuentfernen, "")
print("---------------")
else:
print("Diese Vokabel ist nicht verhanden.")
print("---------------")
del f, zuentfernen
line = line.replace("[", "")
line = line.replace("'", "")
line = line.replace("]", "")
line = line.replace(", ", "\n")
line = line.replace("\n\n", "\n")
f = open(URI(), "w")
f.write(line)
f.close()
del lines, f, line
print("-----------------------------------------------------------------------------")
def ausgabe(): # Gibt alle Vokabeln aus dem ausgwähltem Dictionary aus.
print("-----------------------------------------------------------------------------")
f = open(URI(),"r")
line = f.read()
lines = line.split("\n")
lines.pop()
f.close()
for eintrag in range(len(lines)):
Eintrag = lines[eintrag].split(":")
print("".join(Eintrag[0] + " - " + Eintrag[1]))
print("-----------------------------------------------------------------------------")
del line, lines
def abfrage(): # Startet das Abfragen der Vokebeln.
openURI(URI(), "r")
while True:
# Es wird abgefragt wie rum die Vokabel abgefragt werden sollen (Deutsch->Englisch, Englisch->Deutsch, Deutsch<->Englisch).
abfrageart = input("Wie willst du abgefragt werden? Tippe für Deutsch -> Englisch = 1, für Englisch -> Deutsch = 2, für Deutsch <-> Englisch = 3. ")
if abfrageart == "#fertig":
print("-----------------------------------------------------------------------------")
break
try:
abfrageint = int(abfrageart)
abfrageint <= 3
except:
print("Nur die drei angegebenen Möglichkeiten. (1, 2, 3)")
# 1. Art des Abfragens der Vokabeln (Deutsch->Englisch).
if abfrageint == 1:
letzte = ""
vorletzte = ""
vorvorletzte = ""
while True:
# Vokabel wird ausgewählt
position = random.randint(1, len(Liste) - 1)
Vokabel1 = Liste[position][0]
Vokabel2 = Liste[position][1]
# Es wird überprüft ob die gewählte Vokabel bei den letzetn 2 mal Abfragen schon vorkam, wenn ja wird die Vokabel geändert.
if Vokabel1 == letzte or Vokabel1 == vorletzte or Vokabel1 == vorvorletzte:
while True:
position = random.randint(1, len(Liste) - 1)
Vokabel1 = Liste[position][0]
Vokabel2 = Liste[position][1]
if Vokabel1 != letzte and Vokabel1 != vorletzte and Vokabel1 != vorvorletzte:
break
# Es wird die ausgewählte Vokabel ausgegeben und die Übersetzung soll eingetippt werden.
uebersetzung = input("Übersetzung von " + Vokabel1 + ": ")
if uebersetzung == "#fertig":
print("-----------------------------------------------------------------------------")
break
elif Vokabel2 == uebersetzung:
print("Korrekt.")
else:
print("Leider Falsch. Korrekt ist: "+ Vokabel2)
vorvorletzte = vorletzte
vorletzte = letzte
letzte = Vokabel1
del Vokabel1, Vokabel2
# 2. Art des Abfragens der Vokabeln (Englisch->Deutsch).
if abfrageint == 2:
letzte = ""
vorletzte = ""
vorvorletzte = ""
while True:
# Vokabel wird ausgewählt
position = random.randint(1, len(Liste) - 1)
Vokabel1 = Liste[position][0]
Vokabel2 = Liste[position][1]
# Es wird überprüft ob die gewählte Vokabel bei den letzten 2 mal Abfragen schon vorkam, wenn ja wird die Vokabel geändert.
if Vokabel1 == letzte or Vokabel1 == vorletzte or Vokabel1 == vorvorletzte:
while True:
position = random.randint(1, len(Liste) - 1)
Vokabel1 = Liste[position][0]
Vokabel2 = Liste[position][1]
if Vokabel1 != letzte and Vokabel1 != vorletzte and Vokabel1 != vorvorletzte:
break
# Es wird die ausgewählte Vokabel ausgegeben und die Übersetzung soll eingetippt werden.
uebersetzung = input("Übersetzung von " + Vokabel2 + ": ")
#
if uebersetzung == "#fertig":
print("-----------------------------------------------------------------------------")
break
elif Vokabel1 == uebersetzung:
print("Korrekt")
else:
print("Leider Falsch. Korrekt ist: "+ Vokabel1)
vorvorletzte = vorletzte
vorletzte = letzte
letzte = Vokabel1
del Vokabel1, Vokabel2
# 3. Art des Abfragens der Vokabeln (Deutsch<->Englisch).
if abfrageint == 3:
letzte = ""
vorletzte = ""
vorvorletzte = ""
while True:
# Vokabel wird ausgewählt
position = random.randint(1, len(Liste) - 1)
Vokabel1 = Liste[position][0]
Vokabel2 = Liste[position][1]
# Es wird überprüft ob die gewählte Vokabel bei den letzetn 2 mal Abfragen schon vorkam und wenn ja wird die Vokabel geändert.
if Vokabel1 == letzte or Vokabel1 == vorletzte or Vokabel1 == vorvorletzte:
while True:
position = random.randint(1, len(Liste) - 1)
Vokabel1 = Liste[position][0]
Vokabel2 = Liste[position][1]
if Vokabel1 != letzte and Vokabel1 != vorletzte and Vokabel1 != vorvorletzte:
break
# Es wird zufällig eine Abfragerichtung ausgwählt.
richtung = random.randint(0,1)
if richtung == 0:
# Es wird die ausgewählte Vokabel ausgegeben und die Übersetzung soll eingetippt werden.
uebersetzung = input("Übersetzung von " + Vokabel1 + ": ")
if uebersetzung == "#fertig":
print("-----------------------------------------------------------------------------")
break
elif Vokabel2 == uebersetzung:
print("Korrekt")
else:
print("Leider Falsch. Korrekt ist: "+ Vokabel2)
elif richtung == 1:
# Es wird die ausgewählte Vokabel ausgegeben und die Übersetzung soll eingetippt werden.
uebersetzung = input("Übersetzung von " + Vokabel2 + ": ")
if uebersetzung == "#fertig":
print("-----------------------------------------------------------------------------")
break
elif Vokabel1 == uebersetzung:
print("Korrekt")
else:
print("Leider Falsch. Korrekt ist: "+ Vokabel1)
vorvorletzte = vorletzte
vorletzte = letzte
letzte = Vokabel1
del Vokabel1, Vokabel2