Kako pretvoriti niz u cijeli broj pomoću Pythona



Ovaj će vam članak pružiti detaljno i sveobuhvatno znanje o tome kako na razne načine pretvoriti niz u cijeli broj s primjerima.

U ovoj ćemo temi naučiti kako pretvoriti niz u cijeli broj sa i bez upotrebe ugrađenog tipa podataka. Znamo da je niz zbirka znakova poredanih sekvencijalno zatvorenih unutar navodnika, a cijeli broj je broj bez ikakvih decimalnih zareza i koji nije zatvoren ni uz jednu vrstu navodnika.

Niz u cjelobrojni python





Ali kada se postavi pitanje kako pretvoriti jednu vrstu podataka u drugu, Python pruža jednostavan način međusobne konverzije. U ovom slučaju vidimo kako možemo pretvoriti niz u cijeli broj sljedećim redoslijedom:

Korištenje ugrađenih vrsta podataka



Pretpostavimo da kad iz nekog razloga od korisnika uzmem unos, Python ga uzme i vrati kao sam niz. Drugim riječima, čak i ako netko upiše broj kao ulaz, Python ga vraća kao niz.

kako implementirati hrpu
name = input ('Kako se zoveš:') print (name) print (type (name)) age = input ('What is your age:') print (age) print (type (age))

Izlaz:

Kako se zoveš: Tyra



Tyra

Kolike su vaše godine: 20

dvadeset

Pa vidite, vrsta imena i dobi uzeta kao ulaz su 'String'.

Sada, pretpostavimo ako želimo dodati 5 dobi, učinit ćemo sljedeće:

name = input ('Kako se zoveš:') print (name) print (type (name)) age = input ('What is your age:') print (age) print (type (age)) print (age + 5)

Izlaz:

Kako se zoveš: Tyra

Tyra

Kolike su vaše godine: 20

dvadeset

Traceback (najnoviji zadnji poziv):

Datoteka 'C: /Users/prac.py', red 9, u

ispis (dob + 5)

TypeError: mora biti str, a ne int

Dob ne možemo dodati 5, jer je dob tipa String i ne možemo izravno računati žicama. Dakle, dob moramo promijeniti u cijeli broj, jer smo dob uzeli kao ulaz, a Python ga vraća kao String.

Stoga.

name = input ('Kako se zoveš:') print (name) print (type (name)) age = input ('What is your age:') print (age) print (type (age)) age = int ( dob) ispis (dob + 5)

Izlaz:

Kako se zoveš: Tyra

Tyra

Kolike su vaše godine: 20

dvadeset

25

Konvencionalan način

Pretpostavimo da ne želimo koristiti ugrađenu funkciju int () za pretvaranje niza u cijeli broj.Zato moramo koristiti konvencionalni način pretvoriti.

Evo jednostavnog načina za konverziju bez upotrebe int ().

'' '' 123 '-> 123' -12332 '-> -12332' '' def str_to_int (input_str): output_int = 0 ako je input_str [0] == '-': start_idx = 1 is_negative = True else: start_idx = 0 is_negative = False za i u rasponu (start_idx, len (input_str)): mjesto = 10 ** (len (input_str) - (i + 1)) znamenka = ord (input_str [i]) - ord ('0') output_int + = mjesto * znamenka ako 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 = Ispis '-123' (str_to_int (s))

Izlaz:

123

-123

  • Prvo ćemo provjeriti sadrži li broj koji je pružio korisnik neki znak minus ili ne, tj. Je li negativan broj ili ne.Ako sadrži prvo mjesto u predznaku minus, započinjemo s pretvaranjem s drugog mjesta koje sadrži brojeve.

  • Bilo koji broj, recimo 123, može se zapisati u obliku -10 ** 2 * 1 + 10 ** 1 * 2 + 10 ** 0 * 3

    mvc uzorak dizajna u javi
  • Slično tome, svaki ulazni broj dijelimo pomoću riječ (argument) .

  • ord (‘0’) vraća 48, ord (‘1’) vraća 49 itd.

  • Ovdje koristimo logiku da je ord ('1') - ord ('0) = 1, ord (' 2 ') - ord (' 0 ') = 2 itd. Što nam daje značajan broj koji treba dohvatiti iz datog ulazni broj.

  • Napokon, izlaz koji dobivamo iz funkcije legitiman je cijeli broj koji smo pretvorili iz zadanog ulaznog niza.

Dakle, kao što vidite, možemo pretvoriti bilo koji niz u cijeli broj pomoću funkcije int () ili na uobičajeni način.

Nadam se da ste dobro naučili koncepte i stoga ga isprobajte kako bi bio precizniji i time smo došli do kraja ovog članka o Pretvaranju niza u int pomoću Pythona.

Imate pitanje za nas? Molimo vas da ga spominjete u odjeljku za komentare ovog vodiča za String to Integer i javit ćemo vam se što je prije moguće.

Da biste stekli detaljno znanje o Pythonu, zajedno s raznim aplikacijama, možete se prijaviti uživo s 24/7 podrškom i doživotnim pristupom.