Kako pretvoriti nizove u cjelobrojne u Pythonu

Slično ugrađenoj str()metodi, Python također nudi praktičnu int()metodu koja uzima objekt niza kao argument i vraća cijeli broj.

Primjer upotrebe:

# Here age is a string object age = "18" print(age) # Converting a string to an integer int_age = int(age) print(int_age)

Izlaz:

18 18

Iako je izlaz vizualno sličan, imajte na umu da je prvi redak objekt niza, dok je sljedeći redak cijeli broj. To je dalje ilustrirano u sljedećem primjeru:

age = "18" print(age + 2)

Izlaz:

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

Pogreška bi vam trebala biti jasna da ageobjekt morate pretvoriti u cijeli broj prije nego što mu nešto dodate.

age = "18" age_int = int(age) print(age_int + 2)

Izlaz:

20

Ali imajte na umu ove posebne slučajeve:

  • Plutajuća točka (cjelobrojna s razlomljenim dijelom) kao argument vratit će zaokruženi zaokret prema dolje na najbližu cijelu cijelu vrijednost. Na primjer: print(int(7.9))ispisat će 7. S druge strane, print(int("7.9"))rezultirat će pogreškom jer se plutajući niz kao objekt niza ne može pretvoriti u cijeli broj.
Traceback (most recent call last): File "", line 1, in  ValueError: invalid literal for int() with base 10: '7.9'
  • Riječi dane kao argument vratit će istu grešku. Na primjer, print(int("one"))vratit će:
Traceback (most recent call last): File "", line 1, in  ValueError: invalid literal for int() with base 10: 'one'