Python String to Int: Ako previesť reťazec na celé číslo v Pythone

Na rozdiel od mnohých iných programovacích jazykov, ktoré sú tam vonku, Python implicitne nezapíše celé čísla (alebo pláva) do reťazcov, keď ich spojíte do reťazcov.

Našťastie má Python šikovnú zabudovanú funkciu, str()ktorá prevedie odovzdaný argument na formát reťazca.

Nesprávny spôsob prevodu reťazca na celé číslo v Pythone

Programátori pochádzajúci z iných programovacích jazykov sa môžu pokúsiť vykonať nasledujúce reťazenie reťazcov, ktoré spôsobí chybu:

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

Tento kód môžete spustiť na repl.it.

Chyba, ktorá sa zobrazí, je:

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

Tu TypeError: must be str, not intoznačuje, že celé číslo musí byť najskôr prevedené na reťazec, aby mohlo byť spojené.

Správny spôsob prevodu reťazca na celé číslo v Pythone

Tu je jednoduchý príklad zreťazenia:

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

Tento kód môžete spustiť na repl.it.

Tu je postup, ako tlačiť 1 2 3 4 5 6 7 8 9 10pomocou jedného reťazca:

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

Kód môžete spustiť na repl.it.

Tu je postupné vysvetlenie toho, ako funguje vyššie uvedený kód:

  1. Najskôr je prázdnemu reťazcu priradená premenná „result“.
  2. Smyčka for sa používa na iteráciu zoznamu čísel.
  3. Tento zoznam čísel sa generuje pomocou funkcie rozsahu.
  4. takže rozsah (1,11) vygeneruje zoznam čísel od 1 do 10.
  5. Pri každej iterácii slučky bude táto premenná „i“ preberať hodnoty od 1 do 10.
  6. Pri prvej iterácii, keď premenná i = 1, potom premenná [result = result + str (i) + „(znak medzery)“], str (i) prevádza „i“, čo je celočíselná hodnota, na hodnotu reťazca.
  7. Pretože i = 1, na prvej iterácii nakoniec výsledok = 1.
  8. Rovnaký proces pokračuje až do i = 10 a nakoniec po poslednom výsledku iterácie = 1 2 3 4 5 6 7 8 9 10.
  9. Preto keď konečne vytlačíme výsledok po cykle for, výstup na konzole je „1 2 3 4 5 6 7 8 9 10“.

Dúfam, že vám to prišlo užitočné. Šťastné programovanie.