'str' - Objekt hat kein Attribut 'len'

Ive bekam eine Methode, die für die Arbeit durch die überprüfung der ersten drei Buchstaben/zahlen und sicherstellen, dass Sie identisch sind, bevor es weiter geht wie bei so

def combineProcess(request):
    carID1 = request.POST['carID1']
    carID2 = request.POST['carID2']
    for x in range (0,3):
        a += carID1.length(x)
        b += carID2.length(x)
    if a.equals(b):
        //do something

bevor Sie es verwenden, um Arbeit, die Sie jetzt hörte es auf und ich bekomme diese Fehlermeldung.

Exception Type: UnboundLocalError
Exception Value:    

local variable 'a' referenced before assignment

die ich nie verwenden, um ein paar Wochen sich nicht verändert, alles so machte ich a-und b-global.

def combineProcess(request):
    carID1 = request.POST['carID1']
    carID2 = request.POST['carID2']
    global a,b
    for x in range (0,3):
        a += carID1.length(x)
        b += carID2.length(x)
    if a.equals(b):
        //do something

Nun bin ich immer diese Fehlermeldung.

Exception Type: NameError
Exception Value:    

name 'a' is not defined

Dann ich entfernt die global line-und nur diese

a = "P"

und bekam die folgende Fehlermeldung

str object has no attribute length() or len()

das hat mich nun verwirrt, wie hat dieser code nicht mehr funktioniert, und warum kann er erkennen, dass ein string-Objekt hat eine len () - Methode. vor allem bin ich verloren, wie mein code ging von der Arbeit nicht über ein zwei Wochen ab.

  • Bitte beheben Einrücken. Es ist für uns unmöglich zu wissen, was in den Funktionen. Verwenden Sie 4 Räume um einen code-block und weitere 4 Räume zu zeigen, die die Einrückung der Funktion.
  • Sind Sie sicher, dass Sie schreiben Python hier, sondern als etwas anderes wie Java? Ganz abgesehen von dem Problem mit .length(), strings nicht mit einer .equals Methode in Python entweder.
  • ich denke, das könnte das problem sein, weil ich code täglich mit zwei Sprachen python und c#, so dass ich vielleicht einfach nur verwirrend, die zwei
InformationsquelleAutor user1778743 | 2016-12-28
Schreibe einen Kommentar