Come convertire una stringa in un numero intero usando Python



Questo articolo ti fornirà una conoscenza dettagliata e completa di come convertire una stringa in un numero intero in vari modi con esempi.

In questo argomento, impareremo come convertire una stringa in un numero intero con e senza l'utilizzo del tipo di dati integrato. Sappiamo che una stringa è una raccolta di caratteri disposti sequenzialmente racchiusi tra virgolette e un intero è un numero senza punti decimali e non racchiuso tra virgolette di alcun tipo.

Da stringa a intero Python





Ma quando si pone la domanda su come convertire un tipo di dati in un altro, Python fornisce un modo semplice per convertirsi l'uno nell'altro. In questo caso, vediamo come possiamo convertire una stringa in un numero intero nel seguente ordine:

Utilizzo di tipi di dati incorporati



Supponiamo che quando ricevo input dall'utente per qualche motivo, Python lo prenda e lo restituisca come una stringa stessa. In altre parole, anche se qualcuno digita un numero come input, Python lo restituisce come una stringa.

nome = input ('Qual è il tuo nome:') print (nome) print (tipo (nome)) età = input ('Qual è la tua età:') print (età) print (tipo (età))

Produzione:

Come ti chiami: Tyra



Tyra

Qual è la tua età: 20

venti

come implementare un heap

Quindi, vedi, il tipo di nome e di età presi come input è 'Stringa'.

Ora, supponiamo di voler aggiungere 5 all'età, faremo quanto segue:

nome = input ('Qual è il tuo nome:') print (nome) print (tipo (nome)) età = input ('Qual è la tua età:') print (età) print (tipo (età)) print (età + 5)

Produzione:

Come ti chiami: Tyra

Tyra

Qual è la tua età: 20

venti

Traceback (la chiamata più recente per ultima):

File 'C: /Users/prac.py', riga 9, in formato

stampa (età + 5)

TypeError: deve essere str, non int

Non possiamo aggiungere 5 all'età perché l'età è di tipo String e non possiamo eseguire calcoli diretti con le stringhe. Quindi dobbiamo cambiare l'età in un numero intero perché abbiamo preso l'età come input e Python lo restituisce come String.

Quindi.

name = input ('Qual è il tuo nome:') print (name) print (type (name)) age = input ('Qual è la tua età:') print (age) print (type (age)) age = int ( età) stampa (età + 5)

Produzione:

Come ti chiami: Tyra

Tyra

Qual è la tua età: 20

venti

25

Modo convenzionale

Supponiamo di non voler utilizzare la funzione incorporata int () per convertire la stringa in un numero intero.Quindi dobbiamo usare il file modo convenzionale convertire.

Ecco un modo semplice per eseguire la conversione senza utilizzare 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))

Produzione:

123

-123

  • Innanzitutto, controlleremo se il numero fornito dall'utente contiene un segno meno o meno, ovvero è un numero negativo o meno.Se contiene nella prima posizione un segno meno, iniziamo la nostra conversione dalla seconda posizione che contiene i numeri.

  • Qualsiasi numero, diciamo 123, può essere scritto nella forma -10 ** 2 * 1 + 10 ** 1 * 2 + 10 ** 0 * 3

  • Allo stesso modo, dividiamo ogni numero di input usando parola (argomento) .

  • ord ('0') restituirà 48, ord ('1') restituirà 49 e così via.

  • Qui usiamo la logica che ord ('1') - ord ('0) = 1, ord (' 2 ') - ord (' 0 ') = 2 ecc. Che ci dà il numero significativo da recuperare dal dato numero di input.

  • Infine, l'output che otteniamo dalla funzione è un intero legittimo che abbiamo convertito dalla stringa di input data.

Quindi, come puoi vedere, possiamo convertire qualsiasi stringa in numero intero utilizzando la funzione int () o in modo convenzionale.

Spero che tu abbia imparato bene i concetti e quindi provalo per essere più accurato e con questo, arriviamo alla fine di questo articolo sulla conversione di una stringa in int usando Python.

Hai domande per noi? Si prega di menzionarlo nella sezione commenti di questo tutorial String to Integer e ti risponderemo il prima possibile.

Per ottenere una conoscenza approfondita di Python e delle sue varie applicazioni, puoi iscriverti a live con supporto 24 ore su 24, 7 giorni su 7 e accesso a vita.