Ist es möglich, eine rekursive Python-Funktion innerhalb einer Bearbeitungsentfernung von 12 Zeichen zu reparieren?Python

Python-Programme
Anonymous
 Ist es möglich, eine rekursive Python-Funktion innerhalb einer Bearbeitungsentfernung von 12 Zeichen zu reparieren?

Post by Anonymous »

Ich habe die folgende rekursive Python-Funktion. Das Ziel besteht darin, den Index des ersten Vorkommens in der Liste zurückzugeben. Ist es möglich, diesen Code innerhalb von maximal 12 Bearbeitungen zu korrigieren?

Code: Select all

def index_of(it, l):
if it not in l:
return -1
return (l[0] if l[0] == it else index_of(l[:1],it))

print( index_of("Wali", ["Bobo", "Ali", "Wali", "Frank", "Wali"]) )
Ich habe versucht, die Return-Anweisung wie folgt zu ändern, aber laut Validator führt dies zu einem Bearbeitungsabstand von 13:

Code: Select all

return (0 if l[0] == it else 1+index_of(it,l[1:]))
Mein größtes Problem ist, dass ich die Funktionssignatur nicht ändern kann und der größte Teil des Bearbeitungsabstands durch das Korrigieren der falschen Argumentreihenfolge im rekursiven Aufruf entsteht.
Ich habe mehrere Ansätze ausprobiert, und obwohl mehrere Leute angedeutet haben, dass dies unter den gegebenen Einschränkungen unmöglich sei, wäre ich an konkreten Versuchen interessiert, den Code innerhalb der Bearbeitungsabstandsbeschränkung zu korrigieren, oder an einer klaren Erklärung, warum dies nicht möglich ist.
Eine Korrektur ist jede Änderung, die den normalisierten, zeichenbasierten Levenshtein-Bearbeitungsabstand ≤ 12 beibehält (Importe entfernt, wiederholte Zeichen minimiert, nachgestellte Zeilenumbrüche ignoriert).

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post