Python String към Int: Как да конвертирате низ в цяло число в Python

За разлика от много други езици за програмиране там, Python не имплицитно въвежда цели числа (или плува) в низове, когато ги обединявате в низове.

За щастие, Python има удобна вградена функция, str()която ще преобразува подадения аргумент във формат на низове.

Грешният начин за преобразуване на низ в цяло число в Python

Програмистите, идващи от други езици за програмиране, могат да се опитат да направят следното обединяване на низове, което ще доведе до грешка:

age = 18 string = "Hello, I am " + age + " years old"

Можете да стартирате този код на repl.it.

Грешката, която се показва е:

Traceback (most recent call last): File "python", line 3, in  TypeError: must be str, not int

Тук TypeError: must be str, not intпоказва, че цялото число първо трябва да бъде преобразувано в низ, преди да може да бъде обединено.

Правилният начин за конвертиране на низ в цяло число в Python

Ето един прост пример за конкатенация:

age = 18 print("Hello, I am " + str(age) + " years old") # Output # Hello, I am 18 years old

Можете да стартирате този код на repl.it.

Ето как да печатате 1 2 3 4 5 6 7 8 9 10с помощта на един низ:

result = "" for i in range(1, 11): result += str(i) + " " print(result) # Output # 1 2 3 4 5 6 7 8 9 10

Можете да стартирате кода на repl.it.

Ето пояснение по ред за това как работи горният код:

  1. На първо място променлива 'резултат' се присвоява на празен низ.
  2. Цикълът for се използва за итерация върху списък с числа.
  3. Този списък с числа се генерира с помощта на функцията за диапазон.
  4. така че диапазонът (1,11) ще генерира списък с числа от 1 до 10.
  5. На всяка итерация за цикъл тази променлива 'i' ще приема стойности от 1 до 10.
  6. При първа итерация, когато променливата i = 1, след това променливата [резултат = резултат + str (i) + “(интервал на символа)”], str (i) преобразува 'i', която е цяла стойност, в стойност на низ.
  7. Тъй като i = 1, на първата итерация накрая резултат = 1.
  8. И същият процес продължава, докато i = 10 и накрая след последния резултат от итерация = 1 2 3 4 5 6 7 8 9 10.
  9. Следователно, когато накрая отпечатаме резултата след цикъла for, изходът на конзолата е '1 2 3 4 5 6 7 8 9 10'.

Надявам се, че сте намерили това за полезно. Щастливо кодиране.