Forráskód Böngészése

Suchalgorithmus mit Dateisuche verbunden

stguegen 5 éve
szülő
commit
375ad3bfeb
1 módosított fájl, 45 hozzáadás és 14 törlés
  1. 45 14
      pvl2gunnar.py

+ 45 - 14
pvl2gunnar.py

@@ -1,27 +1,58 @@
 #Entfernungen berechnen
 #Python 2.7
 #Author Gunnar Egenolff
-#letzte Bearbeitung 8.5.19
-
+#letzte Bearbeitung 16.5.19
+import re
+debug = 1
 #2x fuer Start und Ziel
 
     #Eingabe Ort
+eingabe = raw_input("Ort: ")
+s = list(eingabe)
+if debug == 1: print(s)
+laenge = len(s)
+if debug == 1: print(laenge)
 
     #Umwandlung Ortsname in Suchbegriff mit Toleranz
 
+x = []
+i = 0
+while i <= laenge - 1: #legt Liste mit regulaeren Ausdruecken an
+    if debug == 1: print "si ", s[i]
+    t = s[:]
+    t.insert(i,".?.?") #je ein Buchstabe wird durch Punkt ersetzt
+    del t[i+1]
+    mod = "".join(t)
+    x.append(r"\t" + mod + r"\s") #stellt sicher, dass Name nicht Teil eines laengeren Namens
+    if debug == 1: print "t", t
+    if debug == 1: print "s", s
+    if debug == 1: print "x", x
+    
+    i = i + 1
+
+    
+
+
+
+    
     #zeilenweises Auslesen der Ortedatei, Abgleich mit Suchbegriff
-input = open("DE.tab")
+
 linenr = 0
-Suchbegriff = "Neustadt"
-while True:
-    line = input.readline()
-    if not line: break
-    linenr += 1
-    if Suchbegriff in line:
-        Liste = line.split("\t")
-        print Liste[7], Liste[3]
-        
-
-    #Anzeige Suchvorschlaege, Aufforderung zur Auswahl
+j = 0
+while j <= len(x) - 1: #fragt nacheinander alle Versionen des Ortsnamens ab
+    input = open("DE.tab")
+    Suchbegriff = str(x[j])
+    while True: # liest Datenbank zeilenweise aus
+        line = input.readline()
+        if not line: break
+        linenr += 1
+        if re.search(Suchbegriff, line): #findet Ortsname
+            Liste = line.split("\t")
+            print Liste[7], Liste[3], Liste[4], Liste[5] #Ausgabe Plz, Ortsname, lon, lat
+    if debug == 1: print j
+    j+=1
+    line = True
+
+    #Aufforderung zur Auswahl
 
 #Berechnung der Entfernung