Android

Cum să convertiți șiruri în numere întregi din python

Cum sa te pensionezi milionar ?

Cum sa te pensionezi milionar ?

Cuprins:

Anonim

Toate tipurile de date din Python, inclusiv numere întregi și șiruri, sunt obiecte. Adesea, atunci când scrieți codul Python, va trebui să convertiți un tip de date în altul. De exemplu, pentru a efectua o operație matematică pe un număr reprezentat ca șir, trebuie convertit într-un număr întreg.

În acest tutorial, vă vom arăta cum puteți converti un șir Python într-un număr întreg.

Python int() Funcție

Funcția int() încorporată returnează un obiect întreg zecimal dintr-un anumit număr sau șir. Acesta ia următoarea formă:

int(x, base=10)

Funcția `acceptă două argumente:

  • x - String sau număr care trebuie convertit într-un număr întreg. base - Reprezintă sistemul numeral al primului argument. Valoarea sa poate fi 0 și 2–36. Dacă nu se oferă nicio bază, valoarea implicită este 10 (număr întreg zecimal).

De obicei, numerele întregi sunt exprimate cu nota hexadecimală (baza 16), zecimală (baza 10), octal (baza 8) sau notarea binară (baza 2).

Dacă argumentul dat nu poate fi reprezentat ca un număr întreg, funcția va arunca o excepție ValueError .

Convertirea unei șiruri Python în număr întreg

În Python, o „șir” este o listă de caractere care este declarată folosind ghilimele simple ( ' ), duble ( " ) sau triplă ( """ ).

Dacă o variabilă care conține doar numere este declarată folosind ghilimele, tipul de date este setat pe String. Luați în considerare următorul exemplu:

days = "23" type(days)

Funcția type() ne arată că days este un obiect String.

Să încercăm să facem o operație matematică pe variabilă:

print(days+5)

Python va arunca o eroare de excepție TypeError deoarece nu putem efectua un calcul adițional cu string și întreg:

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

Pentru a converti o reprezentare a șirului unui număr întreg zecimal în int , treceți șirul la funcția int() , care returnează un număr întreg zecimal:

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

print(days_int+5)

28

Dacă numărul include virgule, marcând mii, milioane etc., trebuie să eliminați virgula înainte de a trece numărul la funcția int() :

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

1000000

Când convertiți șiruri care reprezintă numere întregi în sisteme numerice diferite, asigurați-vă că utilizați base corectă.

De exemplu, în sistemul hexadecimal, numărul 54732 este reprezentat ca D5CF . Pentru a o converti într-un număr întreg zecimal, trebuie să utilizați baza 16:

int("D5CF", 16)

54735

Dacă D5CF șirul D5CF la funcția int() fără a seta o bază, va arunca o excepție ValueError :

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'

Concluzie

În Python, puteți converti un șir într-un număr întreg folosind funcția int() .

piton