Kako pretvoriti niz v celo število s pomočjo Pythona



Ta članek vam bo zagotovil podrobno in celovito znanje o pretvorbi niza v celo število s primeri.

V tej temi bomo izvedeli, kako pretvoriti niz v celo število z in brez uporabe vgrajenega podatkovnega tipa. Vemo, da je niz zbirka znakov, razporejenih zaporedno v narekovaje, celo število pa je število brez decimalnih vej in ni zaprto z nobeno vrsto narekovajev.

Niz v celoštevilčni python





Toda ko se pojavi vprašanje, kako pretvoriti en podatkovni tip v drugega, Python ponuja enostaven način za pretvorbo drug v drugega. V tem primeru vidimo, kako lahko pretvorimo niz v celo število v naslednjem vrstnem redu:

Uporaba vgrajenih podatkovnih tipov



Denimo, da ko uporabnik iz nekega razloga vzamem vnos, ga Python vzame in vrne kot niz sam. Z drugimi besedami, tudi če nekdo vnese številko kot vhod, jo Python vrne kot niz.

name = input ('Kako ti je ime:') print (name) print (type (name)) age = input ('What is your age:') print (age) print (type (age))

Izhod:

Kako ti je ime: Tyra



Tyra

Koliko ste stari: 20

dvajset

učenje informatike korak za korakom

Torej vidite, vrsta imena in starost, vzeta kot vhod, je 'String'.

Zdaj, če želimo starosti dodati 5, bomo storili naslednje:

name = input ('Kako ti je ime:') print (ime) print (vrsta (ime)) age = input ('What is your age:') print (starost) print (vrsta (starost)) print (starost + 5)

Izhod:

Kako ti je ime: Tyra

Tyra

Koliko ste stari: 20

dvajset

Sledenje (zadnji zadnji klic):

Datoteka 'C: /Users/prac.py', vrstica 9, v

tisk (starost + 5)

TypeError: mora biti str, ne int

Starostju ne moremo dodati 5, ker je starost vrste String in ne moremo neposredno izračunati z nizi. Torej moramo spremeniti starost na celo število, ker smo za vhod vzeli starost, Python pa jo vrne kot niz.

Zato.

name = input ('Kako ti je ime:') print (name) print (type (name)) age = input ('What is your age:') print (age) print (type (age)) age = int ( starost) tisk (starost + 5)

Izhod:

Kako ti je ime: Tyra

Tyra

stl razvrsti c ++

Koliko ste stari: 20

dvajset

25.

mysql_fetch_array

Konvencionalen način

Recimo, da ne želimo uporabljati vgrajene funkcije int () za pretvorbo niza v celo število.Zato moramo uporabiti konvencionalen način spreobrniti.

Tu je preprost način za pretvorbo, ne da bi uporabili int ().

'' '' 123 '-> 123' -12332 '-> -12332' '' def str_to_int (input_str): output_int = 0, če input_str [0] == '-': start_idx = 1 is_negative = True else: start_idx = 0 is_negative = False za i v območju (start_idx, len (input_str)): place = 10 ** (len (input_str) - (i + 1)) številka = ord (input_str [i]) - ord ('0') output_int + = mesto * številka, če je negativno: 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' print (str_to_int (s))

Izhod:

123

-123

  • Najprej bomo preverili, ali številka, ki jo navede uporabnik, vsebuje znak minus ali ne, tj. Ali je negativna številka ali ne.Če vsebuje na prvem mestu znak minus, začnemo pretvorbo z drugega mesta, ki vsebuje številke.

  • Vsako številko, recimo 123, lahko zapišemo v obliki -10 ** 2 * 1 + 10 ** 1 * 2 + 10 ** 0 * 3

  • Podobno delimo vsako vhodno številko z uporabo beseda (argument) .

  • ord (‘0’) vrne 48, ord (‘1’) vrne 49 itd.

  • Tu uporabljamo logiko, da je ord ('1') - ord ('0) = 1, ord (' 2 ') - ord (' 0 ') = 2 itd., Kar nam daje pomembno število, ki ga je treba pridobiti iz danega vhodna številka.

  • Končno je izhod, ki ga dobimo iz funkcije, zakonito celo število, ki smo ga pretvorili iz danega vhodnega niza.

Kot lahko vidite, lahko kateri koli niz pretvorimo v celo število s pomočjo funkcije int () ali na običajen način.

Upam, da ste se konceptov dobro naučili in ga zato preizkusili, da je natančnejši. S tem smo prišli do konca tega članka o pretvorbi niza v int z uporabo Pythona.

Imate vprašanje za nas? Prosimo, omenite ga v oddelku za komentarje te vadnice za niz v celo število in v najkrajšem možnem času se vam bomo oglasili.

Če želite pridobiti poglobljeno znanje o Pythonu skupaj z različnimi aplikacijami, se lahko prijavite v živo s 24-urno podporo in življenjskim dostopom.