Python 3: Erste TypeError: Scheiben müssen ganze zahlen sein... Aber Sie sind glaube ich

Ich bin versucht zu schreiben, eine Funktion namens "Mitte", der die mittleren 3 Ziffern der ungeraden zahlen, oder die mittleren 4 Ziffern der geraden zahlen. Wenn die Zahl weniger als 5 Ziffern, nur es gibt die ganze Zahl. Hier ist mein Werk:

def middle(x):
    mystring=str(x)
    length=len(mystring)
    if len(mystring)<=5:
        return(x)
    elif len(mystring)%2==0:
        return (mystring[((length/2)-1):((length/2)+3)])
    else:
        return (mystring[(length//2):((length//2)+3)])
middle (1234567890)

Ich bekomme immer "Typ Fehler: slice-Indizes müssen ganze zahlen sein oder keine oder an_index_method" und das verstehe ich nicht.

  • Auch reproduzierbar auf Python 2.7 mit from __future__ import division; ohne, dass die Zukunft Anweisung funktioniert es.
InformationsquelleAutor JackD | 2012-10-15
Schreibe einen Kommentar