Sa paksang ito, matututunan namin ang tungkol sa kung paano mag-convert ng isang string sa integer kasama at nang hindi gumagamit ng in-built na uri ng data. Alam namin na ang isang string ay isang koleksyon ng mga character na nakaayos nang sunud-sunod na nakapaloob sa loob ng mga quote at ang isang integer ay isang numero nang walang anumang decimal point at hindi nakapaloob sa anumang uri ng mga quote.
Ngunit kapag ang tanong ay kung paano i-convert ang isang uri ng data sa isa pa, nagbibigay ang Python ng isang madaling paraan upang mag-convert sa bawat isa. Sa kasong ito, nakikita namin kung paano namin mai-convert ang isang string sa isang integer sa sumusunod na pagkakasunud-sunod:
Paggamit ng mga built in na Uri ng Data
Ipagpalagay kapag kumuha ako ng input mula sa gumagamit para sa ilang kadahilanan, kinukuha ito ng Python at ibabalik ito bilang isang string mismo. Sa madaling salita, kahit na ang isang tao ay nagta-type ng isang bilang bilang isang input, ibabalik ito ng Python bilang isang string.
name = input ('Ano ang iyong pangalan:') print (name) print (type (name)) age = input ('What is your age:') print (age) print (type (age))
Output:
Ano ang iyong pangalan: Tyra
Tyra
Ano ang edad mo: 20
dalawampu
Kaya't nakikita mo, ang uri ng pangalan at edad na kinuha bilang input ay 'String'.
Ngayon, ipagpalagay kung nais nating magdagdag ng 5 sa edad, gagawin namin ang sumusunod:
pag-uri-uriin ang isang array sa c ++
name = input ('Ano ang iyong pangalan:') print (name) print (type (name)) age = input ('What is your age:') print (age) print (type (age)) print (age + 5)
Output:
Ano ang iyong pangalan: Tyra
Tyra
Ano ang edad mo: 20
dalawampu
Traceback (pinakahuling huling tawag):
File 'C: /Users/prac.py', linya 9, sa
print (edad + 5)
TypeError: dapat na str, hindi int
Hindi namin maidaragdag ang 5 sa edad dahil ang edad ay uri ng String at hindi namin magagawa ang direktang matematika gamit ang mga string. Kaya kailangan nating baguhin ang edad sa isang integer dahil tumagal kami sa edad bilang input at ibabalik ito ng Python bilang String.
Dahil dito
name = input ('Ano ang iyong pangalan:') print (name) print (type (name)) age = input ('What is your age:') print (age) print (type (age)) age = int ( edad) naka-print (edad + 5)
Output:
Ano ang iyong pangalan: Tyra
Tyra
Ano ang edad mo: 20
dalawampu
sa lakas ng java
25
Maginoo paraan
Ipagpalagay na hindi namin nais na gamitin ang built-in na function na int () upang mai-convert ang string sa isang integer.Kaya kailangan nating gamitin ang maginoo paraan upang i-convert.
makakuha ng petsa mula sa string java
Narito ang isang simpleng paraan upang pumunta para sa conversion nang hindi gumagamit ng int ().
'' '' 123 '-> 123' -12332 '-> -12332' '' def str_to_int (input_str): output_int = 0 kung input_str [0] == '-': start_idx = 1 is_negative = True else: start_idx = 0 is_negative = Mali para sa i sa saklaw (start_idx, len (input_str)): lugar = 10 ** (len (input_str) - (i + 1)) digit = ord (input_str [i]) - ord ('0') output_int + = lugar * digit kung is_negative: return -1 * output_int iba pa: 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))
Output:
123
-123
Una, susuriin namin kung ang numerong ibinigay ng gumagamit ay naglalaman ng anumang minus sign o hindi, ibig sabihin ay isang negatibong numero o hindi.Kung naglalaman ito sa unang posisyon sa isang minus sign, sinisimulan namin ang aming conversion mula sa pangalawang posisyon na naglalaman ng mga numero.
Anumang numero, sabihin nating 123, ay maaaring maisulat sa form -10 ** 2 * 1 + 10 ** 1 * 2 + 10 ** 0 * 3
Katulad nito, pinaghiwalay namin ang bawat isa sa input na numero na ginagamit mga salita (argumento) .
magbabalik ang ord (‘0’) ng 48, magbabalik ang ord (‘1’) ng 49 atbp.
Narito ginagamit namin ang lohika na nagtala ('1') - ord ('0) = 1, ord (' 2 ') - ord (' 0 ') = 2 atbp na nagbibigay sa amin ng makabuluhang bilang na makuha mula sa ibinigay numero ng pag-input.
Sa wakas, ang output na nakukuha namin mula sa pagpapaandar ay isang legit integer na na-convert namin mula sa ibinigay na input string.
Kaya't nakikita mo, maaari naming mai-convert ang anumang string sa integer alinman sa paggamit ng int () function o sa maginoo na paraan.
Inaasahan kong natutunan mo nang mabuti ang mga konsepto at samakatuwid ay subukan ito upang maging mas tumpak at kasama nito, natapos namin ang artikulong ito sa Converting a String upang gamitin ang Python.
May tanong ba sa amin? Mangyaring banggitin ito sa seksyon ng mga komento ng String to Integer Tutorial na ito at babalikan ka namin sa lalong madaling panahon.
Upang makakuha ng malalim na kaalaman sa Python kasama ang iba't ibang mga application nito, maaari kang magpatala nang live na may 24/7 na suporta at buhay na pag-access.