Stringi teisendamine täisarvuks Pythoni abil

See artikkel annab üksikasjalikud ja põhjalikud teadmised stringi teisendamiseks täisarvuks mitmel viisil koos näidetega.

Selles teemas saame teada, kuidas string teisendada täisarvuks sisseehitatud andmetüübiga ja seda kasutamata. Me teame, et string on tähemärkide kogu, mis on järjestatud jutumärkidesse ja täisarv on arv ilma kümnendkohtadeta ja pole lisatud ühtegi jutumärki.

String täisarvuni python





Kuid kui tekib küsimus, kuidas teisendada üks andmetüüp teiseks, pakub Python lihtsat viisi teisendamiseks. Sel juhul näeme, kuidas saab stringi teisendada täisarvuks järgmises järjekorras:

Sisseehitatud andmetüüpide kasutamine



Oletame, et kui ma mingil põhjusel kasutajalt sisendi võtan, võtab Python selle ja tagastab selle ise stringina. Teisisõnu, isegi kui keegi sisestab numbri sisendina, tagastab Python selle stringina.

nimi = sisestus ('Mis on teie nimi:') print (nimi) print (tüüp (nimi)) vanus = input ('mis on teie vanus:') print (vanus) print (tüüp (vanus))

Väljund:

Mis su nimi on: Tyra



Tyra

c ++ sorteerimismassiivid

Mis on teie vanus: 20

kakskümmend

Nii et näete, sisendiks võetud nime tüüp ja vanus on „String”.

Oletame, et kui me tahame vanusele lisada 5, siis teeme järgmist:

nimi = sisestus ('Mis on teie nimi:') print (nimi) print (tüüp (nimi)) vanus = input ('mis on teie vanus:') print (vanus) print (tüüp (vanus)) print (vanus + 5)

Väljund:

Mis su nimi on: Tyra

Tyra

Mis on teie vanus: 20

kakskümmend

Jälgimine (viimane kõne oli viimane):

.trim () java

Faili C: /Users/prac.py 9. rida sisse

trükk (vanus + 5)

TypeError: peab olema str, mitte int

Me ei saa vanusele 5 lisada, kuna vanus on String tüüpi ja me ei saa stringidega otsemat matemaatikat teha. Seega peame vanuse muutma täisarvuks, sest sisendiks oleme võtnud vanuse ja Python tagastab selle stringina.

Seega.

nimi = sisestus ('Mis on teie nimi:') print (nimi) print (tüüp (nimi)) vanus = sisestus ('Mis on teie vanus:') print (vanus) print (tüüp (vanus)) vanus = int ( vanus) print (vanus + 5)

Väljund:

Mis su nimi on: Tyra

Tyra

Mis on teie vanus: 20

kakskümmend

25

Tavapärane viis

Oletame, et me ei soovi stringi teisendamiseks täisarvuks kasutada sisseehitatud funktsiooni int ().Nii et peame kasutama tavapärasel viisil teisendada.

Siin on lihtne viis teisendamiseks ilma int () kasutamata.

'' '' 123 '-> 123' -12332 '-> -12332' '' def str_to_int (input_str): output_int = 0, kui input_str [0] == '-': start_idx = 1 is_negative = Tõsi muu: start_idx = 0 on_negatiivne = vale väärtusele i vahemikus (algus_idx, len (sisend_str)): koht = 10 ** (len (sisend_str) - (i + 1)) number = ord (sisend_str [i]) - ord ('0') output_int + = koht * number, kui see on_negatiivne: 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))

Väljund:

123

-123

  • Kõigepealt kontrollime, kas kasutaja esitatud number sisaldab miinusmärki või mitte, st kas see on negatiivne number või mitte.Kui see sisaldab miinusmärgi esimeses positsioonis, alustame teisendamist teisest, mis sisaldab numbreid.

  • Mis tahes numbri, näiteks 123, saab kirjutada kujul -10 ** 2 * 1 + 10 ** 1 * 2 + 10 ** 0 * 3

  • Samamoodi jagame iga sisendi numbri abil sõna (argument) .

  • ord (’0’) tagastab 48, ord (’1’) tagastab 49 jne.

  • Siin kasutame loogikat, et ord ('1') - ord ('0) = 1, ord (' 2 ') - ord (' 0 ') = 2 jne., Mis annab meile antud arvust olulise arvu. sisendnumber.

  • Lõpuks on funktsioonist saadud väljund legitiimarv, mille teisendasime antud sisendstringist.

    on aspirant ja valdab sama

Nii et nagu näete, võime mis tahes stringi teisendada täisarvuks kas funktsiooni int () abil või tavapärasel viisil.

Loodan, et õppisite mõisted hästi ära ja proovisite selle täpsemaks proovida ning sellega jõuame selle artikli lõpuni, mis käsitleb stringi teisendamist Pythoni abil int-ks.

Kas teil on meile küsimus? Palun mainige seda selle stringi ja täisarvu õpetuse kommentaaride jaotises ja võtame teiega esimesel võimalusel ühendust.

Põhjalike teadmiste saamiseks Pythoni ja selle erinevate rakenduste kohta saate registreeruda otseülekandeks 24/7 toe ja ligipääsuga kogu eluks.