Android

Python'da dizeleri tamsayılara dönüştürme

Python 5 алгоритмов для новичка!

Python 5 алгоритмов для новичка!

İçindekiler:

Anonim

Python'daki tamsayılar ve dizeler dahil tüm veri türleri nesnedir. Genellikle Python kodu yazarken, bir veri türünü diğerine dönüştürmeniz gerekir. Örneğin, dize olarak temsil edilen bir sayı üzerinde bir matematik işlemi gerçekleştirmek için, bir tamsayıya dönüştürülmesi gerekir.

Bu öğreticide, bir Python dizesini tamsayıya nasıl dönüştüreceğinizi göstereceğiz.

Python int() İşlevi

int() işlevi, belirli bir sayı veya dizeden ondalık bir tam sayı nesnesi döndürür. Aşağıdaki formu alır:

int(x, base=10)

`İşlevi iki argümanı kabul eder:

  • x - Bir tamsayıya dönüştürülecek dize veya sayı. base - İlk argümanın sayısal sistemini temsil eder. Değeri 0 ve 2-36 olabilir. Hiçbir taban belirtilmezse, varsayılan değer 10'dur (ondalık tam sayı).

Genellikle tamsayılar onaltılık (taban 16), ondalık (taban 10), sekizli (taban 8) veya ikili (taban 2) gösterimde ifade edilir.

Verilen bağımsız değişken bir tamsayı olarak temsil edilemezse, işlev bir ValueError istisnası atar.

Python Dizesini Tamsayıya Dönüştürme

Python'da, 'dize' tek ( ' ), çift ( " ) veya üçlü tırnak ( """ ) kullanılarak bildirilen karakterlerin listesidir.

Yalnızca sayı içeren bir değişken tırnaklarla bildirilirse, veri türü Dize olarak ayarlanır. Aşağıdaki örneği düşünün:

days = "23" type(days)

type() işlevi, days bir String nesnesi olduğunu gösterir.

Değişken üzerinde bir matematik işlemi yapmaya çalışalım:

print(days+5)

Dize ve tamsayı ile bir ek hesaplama yapamadığımız için Python bir TypeError istisna hatası atar:

Traceback (most recent call last): File " ", line 1, in TypeError: cannot concatenate 'str' and 'int' objects Traceback (most recent call last): File " ", line 1, in TypeError: cannot concatenate 'str' and 'int' objects Traceback (most recent call last): File " ", line 1, in TypeError: cannot concatenate 'str' and 'int' objects

Ondalık bir tamsayının dize olarak temsilini int dönüştürmek için, dizeyi ondalık tam sayı döndüren int() işlevine iletin:

days = "23" days_int = int(days) type(days_int)

print(days_int+5)

28

Sayı virgül içeriyorsa, binlerce, milyonlarca vb. İşaretliyorsa, sayıyı int() işlevine geçirmeden önce virgülleri kaldırmanız gerekir:

total = "1, 000, 000" int(total.replace(", ", ""))

1000000

Farklı sayı sistemlerinde tamsayıları temsil eden dizeleri dönüştürürken, doğru base kullandığınızdan emin olun.

Örneğin, onaltılık sistemde, 54732 sayısı D5CF olarak temsil edilir. Ondalık bir tamsayıya dönüştürmek için taban 16'yı kullanmanız gerekir:

int("D5CF", 16)

54735

D5CF dizesini bir base ayarlamadan int() işlevine ValueError , bir ValueError istisnası atar:

int("D5CF")

Traceback (most recent call last): File " ", line 1, in ValueError: invalid literal for int() with base 10: 'D5CF' Traceback (most recent call last): File " ", line 1, in ValueError: invalid literal for int() with base 10: 'D5CF' Traceback (most recent call last): File " ", line 1, in ValueError: invalid literal for int() with base 10: 'D5CF'

Sonuç

Python'da, int() işlevini kullanarak bir dizeyi tamsayıya dönüştürebilirsiniz.

piton