Cum se convertește un șir în întreg folosind Python



Acest articol vă va oferi o cunoaștere detaliată și cuprinzătoare despre cum să convertiți un șir în întreg în diferite moduri, cu exemple.

În acest subiect, vom învăța despre cum să convertim un șir în întreg cu și fără a utiliza tipul de date încorporat. Știm că un șir este o colecție de caractere aranjate secvențial cuprinse între ghilimele și un număr întreg este un număr fără virgule și care nu este inclus în niciun tip de ghilimele.

Șir la python întreg





Dar când apare întrebarea despre cum să convertiți un tip de date în altul, Python oferă o modalitate ușoară de a converti unul în celălalt. În acest caz, vedem cum putem converti un șir într-un număr întreg în următoarea ordine:

Utilizarea tipurilor de date încorporate



ce este trecător în java

Să presupunem că atunci când iau intrarea de la utilizator dintr-un anumit motiv, Python o ia și o returnează ca un șir în sine. Cu alte cuvinte, chiar dacă cineva tastează un număr ca intrare, Python îl returnează ca un șir.

name = input ('Care este numele tău:') print (name) print (type (name)) age = input ('Care este vârsta ta:') print (age) print (type (age))

Ieșire:

Care este numele tău: Tyra



Tyra

Care este vârsta ta: 20

douăzeci

Așa că vedeți, tipul de nume și vârstă luate ca intrare este „Șir”.

Acum, să presupunem că dacă dorim să adăugăm 5 la vârstă, vom face următoarele:

name = input ('Care este numele tău:') print (name) print (type (name)) age = input ('Care este vârsta ta:') print (age) print (type (age)) print (age + 5)

Ieșire:

Care este numele tău: Tyra

Tyra

Care este vârsta ta: 20

douăzeci

Traceback (ultimul apel cel mai recent):

Fișierul „C: /Users/prac.py”, linia 9, în

print (vârsta + 5 ani)

TypeError: trebuie să fie str, nu int

Nu putem adăuga vârsta de 5 ani, deoarece vârsta este de tip Șir și nu putem face matematică directă cu șiruri. Deci, trebuie să schimbăm vârsta într-un număr întreg, deoarece am luat vârsta ca intrare și Python o returnează ca Șir.

Prin urmare.

name = input ('Care este numele tău:') print (name) print (type (name)) age = input ('Care este vârsta ta:') print (age) print (type (age)) age = int ( varsta) print (varsta + 5)

Ieșire:

Care este numele tău: Tyra

Tyra

Care este vârsta ta: 20

douăzeci

25

Mod convențional

Să presupunem că nu vrem să folosim funcția încorporată int () pentru a converti șirul într-un număr întreg.Deci trebuie să folosim mod convențional a converti.

Iată o modalitate simplă de a merge pentru conversie fără a utiliza 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' print (str_to_int (s))

Ieșire:

123

-123

cum să renunți la un program în java
  • Mai întâi, vom verifica dacă numărul furnizat de utilizator conține sau nu semne minus, adică este un număr negativ sau nu.Dacă conține în prima poziție într-un semn minus, începem conversia noastră din a doua poziție care conține numere.

  • Orice număr, să zicem 123, poate fi scris în forma -10 ** 2 * 1 + 10 ** 1 * 2 + 10 ** 0 * 3

  • În mod similar, împărțim fiecare dintre numărul de intrare folosind cuvânt (argument) .

  • ord (‘0’) va returna 48, ord (‘1’) va returna 49 etc.

  • Aici folosim logica că ord ('1') - ord ('0) = 1, ord (' 2 ') - ord (' 0 ') = 2 etc., ceea ce ne oferă numărul semnificativ de preluat din datele numărul de intrare.

  • În cele din urmă, ieșirea pe care o obținem din funcție este un întreg legitim pe care l-am convertit din șirul de intrare dat.

Deci, după cum puteți vedea, putem converti orice șir în întreg, fie utilizând funcția int (), fie în modul convențional.

Sper că ați învățat bine conceptele și, prin urmare, încercați să fie mai exacte și, cu aceasta, ajungem la sfârșitul acestui articol despre Conversia unui șir în int folosind Python.

Ai o întrebare pentru noi? Vă rugăm să îl menționați în secțiunea de comentarii a acestui tutorial String to Inger și vă vom contacta cât mai curând posibil.

Pentru a obține cunoștințe aprofundate despre Python împreună cu diferitele sale aplicații, vă puteți înscrie pentru live cu suport 24/7 și acces pe viață.