Ako previesť reťazec na celé číslo pomocou Pythonu



Tento článok vám poskytne podrobné a komplexné vedomosti o tom, ako rôznymi spôsobmi pomocou príkladov previesť reťazec na celé číslo.

V tejto téme by sme sa dozvedeli, ako previesť reťazec na celé číslo s použitím a bez použitia zabudovaného dátového typu. Vieme, že reťazec je súbor znakov usporiadaných postupne uzavretých v úvodzovkách a celé číslo je číslo bez desatinných miest a nie je uzavreté žiadnym typom úvodzoviek.

Reťazec na celé číslo python





Ale keď príde otázka, ako previesť jeden dátový typ na druhý, Python poskytuje jednoduchý spôsob, ako prevádzať jeden do druhého. V tomto prípade vidíme, ako môžeme previesť reťazec na celé číslo v nasledujúcom poradí:

Používanie vstavaných dátových typov



Predpokladajme, že keď z nejakého dôvodu vezmem vstup od používateľa, Python ho vezme a vráti ho ako samotný reťazec. Inými slovami, aj keď niekto napíše číslo ako vstup, Python ho vráti ako reťazec.

name = input ('Ako sa voláš:') print (name) print (type (name)) age = input ('Aký je tvoj vek:') print (age) print (type (age))

Výkon:

Ako sa voláš: Tyra



Tyra

Aký je váš vek: 20

dvadsať

Ako vidíte, ako meno a vek sa ako vstup použije reťazec.

Teraz predpokladajme, že ak chceme k veku pridať 5, urobíme nasledovné:

name = input ('Ako sa voláš:') print (name) print (type (name)) age = input ('Aký je tvoj vek:') print (age) print (type (age)) print (age + 5)

Výkon:

Ako sa voláš: Tyra

Tyra

Aký je váš vek: 20

dvadsať

Traceback (posledný posledný hovor):

Súbor „C: /Users/prac.py“, riadok 9, v

tlač (vek + 5)

TypeError: musí byť str, nie int

K veku nemôžeme pridať 5, pretože vek je typu String a nemôžeme robiť priamu matematiku pomocou reťazcov. Takže musíme zmeniť vek na celé číslo, pretože sme zobrali vek ako vstup a Python ho vráti ako String.

Preto.

name = input ('Ako sa voláš:') print (name) print (type (name)) age = input ('Aký je tvoj vek:') print (age) print (type (age)) age = int ( vek) tlač (vek + 5)

Výkon:

Ako sa voláš: Tyra

Tyra

Aký je váš vek: 20

dvadsať

25

Konvenčným spôsobom

Predpokladajme, že nechceme pomocou vstavanej funkcie int () prevádzať reťazec na celé číslo.Musíme teda použiť konvenčným spôsobom previesť.

ako používať java hojdačka

Tu je jednoduchý spôsob, ako prejsť na konverziu bez použitia funkcie int ().

'' '' 123 '-> 123' -12332 '-> -12332' '' def str_to_int (input_str): output_int = 0 if input_str [0] == '-': start_idx = 1 is_negative = True else: start_idx = 0 is_negative = False for i in range (start_idx, len (input_str)): place = 10 ** (len (input_str) - (i + 1)) digit = ord (input_str [i]) - ord ('0') output_int + = place * digit if is_negative: return -1 * output_int else: return output_int s = '554' x = str_to_int (s) print (type (x)) s = '123' print (str_to_int (s)) s = „-123“ tlač (str_to_int (s))

Výkon:

123

-123

  • Najskôr skontrolujeme, či číslo poskytnuté používateľom obsahuje alebo neobsahuje znamienko mínus, t. J. Je to záporné číslo alebo nie.Ak obsahuje na prvej pozícii v znamienku mínus, začneme náš prevod z druhej pozície, ktorá obsahuje čísla.

  • Akékoľvek číslo, povedzme 123, je možné napísať vo forme -10 ** 2 * 1 + 10 ** 1 * 2 + 10 ** 0 * 3

  • Podobne rozdelíme každé zo vstupných čísel pomocou slová (argument) .

  • ord („0“) vráti 48, ord („1“) vráti 49 atď.

  • Tu použijeme logiku, ktorá ord ('1') - ord ('0) = 1, ord (' 2 ') - ord (' 0 ') = 2 atď., Ktorá nám dáva významné číslo, ktoré sa má načítať z daného vstupné číslo.

  • Výstup, ktorý z funkcie dostaneme, je nakoniec celé číslo, ktoré sme previedli z daného vstupného reťazca.

Ako teda vidíte, môžeme ľubovoľný reťazec previesť na celé číslo pomocou funkcie int () alebo konvenčným spôsobom.

Dúfam, že ste sa tieto pojmy naučili dobre, a preto ste vyskúšali, že sú presnejšie, a tým sa dostávame ku koncu tohto článku o prevode reťazca na int pomocou jazyka Python.

Máte na nás otázku? Uveďte to, prosím, v sekcii komentárov v tomto návode String to Integer a my sa vám ozveme čo najskôr.

Ak chcete získať podrobné informácie o Pythone a jeho rôznych aplikáciách, môžete sa zaregistrovať naživo s nepretržitou podporou a doživotným prístupom.