Erste habe ich eine Textdatei wie ein Spiel von Erraten Ziffern enthält etwas, wo die erste Spalte nur eindeutige ID ist, zweite und dritte SäuleBereich sind für die gues s und vierte ist eine Gruppe Typ:nächstes Element aus der Liste der Liste nach Eingabe
a:6.5:10.2:G1
b:2.4:11.7:G2
c:3.1:9.7:G1
d:4.6:8.7:G3
der Benutzer aufgefordert wird zu Eingang zwei Versuche, zum Beispiel:
3.1 : 9.9 : 3.2 : 9.8
wo die ersten beide werden die ersten versuchen, und die dritte und vierte würde die zweite versuchen sein. Bei der obigen Eingabe macht der Code einen Vergleich zwischen dem ersten Versuch und dem zweiten Versuch mit dem Inhalt in der Textdatei.
Beispiel:
Die zuerst versuchen wäre 3,1: 9,9 und gehen Sie mit dem Inhalt der Textdatei zu vergleichen. Die zweite Versuch 3.2: 9.8 auch verglichen werden würde und den Ausgang des Nahgrenze auf die Benutzereingabe erzeugen, die sein würde:
output = 3.1 , 9.7 (from the text file, without the id and type)
Hier ist, was ich versucht habe. Für einen Start habe ich zwei Liste da es nur zwei Sätze von Ziffer pro Zeile in der Datei und Benutzervier Sätze von Ziffern haben, die ich bequem wären übernehmen, wenn ich die Eingabe in zwei Teile gespalten jeweils in einer zu vergleichenden Liste.
guess = input("Enter your guess:") #Ex: 3.1:9.9:3.2:9.8
List1 = [] # [3.1,9.9]
List2 = [] # [3.2,9.8]
separateStr = guess.split(':')
floatInput = [float(i) for i in separateStr]
List1,List2 = floatInput[:2],floatInput[2:]
openFile = open('__.txt')
table = [] #Created a list to contain the contents
for line in openFile:
contents = line.strip().split(':')
table.append(contents)
def getClosest(l):
for i in range(....
.
.
Ich war die Funktion, um herauszufinden, für den nächsten Bereich nicht in der Lage, wie ich angenommen bin, ob es, wenn die beide Liste ist in der Lage zu vergleichen mit der Tabelle mit dem Inhalt der Datei möglich ist? Meine Methode könnte falsch sein, daher möchte ich mich diesbezüglich beraten lassen.
Es läuft alles auf die Art der Norm (https://en.wikipedia.org/wiki/Norm_(mathematics)) du willst es benutzen (so wie du die Entfernung messen willst). Den Rest hast du herausgefunden, scheint es. –