Wie funktioniert int(x[,base]) arbeiten?
Die Ausgabe für den folgenden code:
int("12", 5)
O/P: 7
int("0", 5)
O/P: 0
int("10", 2)
O/P: 2
Kann ich nicht verstehen. Aus der Python-Dokumentation heißt es: Sie "[, base]" - Teil ist optional.e es könnte ein oder zwei Argumente.
Das erste argument sollte unbedingt eine Zeichenfolge sein, die einen int-Wert innerhalb der Anführungszeichen.
- Wissen Sie, was "base" bedeutet in diesem Sinne?
- Oh Oh oh oh. Ich habe es 😛
- Es ist die Basis des Zahlensystems. Ein system kann eine beliebige base. Wenn Sie nicht verstehen, wie das funktioniert, dann müssen Sie zum Lesen der wikipedia-Artikel, den ich verlinkt.
- wissen Sie, was Binär bedeutet? Verstehen Sie, warum hexadezimal ist Basis 16?
- Ja, ja, ich danke Ihnen so sehr 🙂 ich habe es.
- base 5 genannt werden könnte pental, nehme ich an; nachdem alle Basis 8 ist Oktalzahl. Wir verwenden keine base 5 für computer-Anwendungen, weil es keine praktische Anwendung gibt.
- Ich bin verwirrt. Ich habe versucht, diese conversions in beiden python 2.7 und 3.4 und erhalten unterschiedliche Antworten, die von der OP. für das erste Beispiel, wenn es mit base 5, 2 in der Basis 5 ist immer noch 2. Wo ist die "7" kommen?
- Es waren einige unerklärliche änderungen an der original post; ich wieder die ursprünglichen, korrekten, Beispiele.
- Ah. Macht viel mehr Sinn, jetzt 😀
Du musst angemeldet sein, um einen Kommentar abzugeben.
int(string, base)
akzeptiert ein beliebigen Basis. Sie sind wahrscheinlich vertraut mit Binär-und hexadezimal-und vielleicht oktal; diese sind nur Möglichkeiten, von der Feststellung einer integer-Zahl in den verschiedenen Basen:Jede Basis bestimmt, wie viele Werte bei jeder 'Stellung' in der notation nehmen können. Im Dezimalsystem zählen wir bis um 9, dann fügen Sie eine position zu zählen, die 'Zehner', so
10
bedeutet man mal zehn, null mal eine. Count Vergangenheit 99, und fügen Sie eine 3. Stelle, usw. Im Binär-es gibt nur zwei Ziffern, also nach1
Sie zählen bis zu10
, die einmal zwei, und null mal eine, und nach11
Sie zählen bis zu100
.Den
base
argument ist nur die integer-Basis, und es ist nicht beschränkt auf 2, 8, 10 oder 16. Base 5 heißt die Zahl wird ausgedrückt durch die Ziffern 0 bis 4. Die dezimale Zahl 10 wäre20
im sockel 5, zum Beispiel (2 mal 5).int(string, 5)
dann interpretiert die Zeichenfolge als Basis-5 Anzahl und erzeugt einen Python integer-entsprechend dem Wert:Wenn Sie den Namen base-5 zahlen, wäre es wohl genannt pental.
Die int-Funktion ist die Rückgabe der Zeichenfolge, als ob es waren vertreten der Basis "Basis". Zum Beispiel, 10 in Basis 2 (Binär) ist 2 in Basis 10 (dezimal). 12 in der base 5 ist 1*5^1 + 2*5^0 = 7.
Hier Basis ist die Anzahl system, das wir haben, zu verknüpfen, das erste argument. Wie, wenn die Anzahl system Binär ist, dann "10" bedeutet 2 im Dezimalsystem. Ebenso, wenn "10" mit der Nummer ternären system bedeuten 3 in dezimal und so weiter. Für mehr details, Studie zur Anzahl der Systeme und wie die Konvertierung zwischen Zahlensysteme funktioniert. Übrigens, wir Menschen versteht, dezimal Nummer system(0-9) sehr gut, während der computer versteht Binärsystem.
Diese Tatsache kann wie folgt erklärt werden:
Nehmen wir an, unsere Funktion aufgerufen wird
int("12",5)
, die Mittel (12) ist in der Basis 5 und wir bitten für die, die es werden umgewandelt in dezimal nicht. D. H., in eine base-10-Zahl.Also die einfache Regel ist
Ähnliche Umbauten gemacht werden kann, von jeder anderen Basis.