Python String to Int: come convertire una stringa in un numero intero in Python

A differenza di molti altri linguaggi di programmazione là fuori, Python non scrive implicitamente interi (o float) in stringhe quando vengono concatenati in stringhe.

Fortunatamente, Python ha una comoda funzione incorporata str()che convertirà l'argomento passato in un formato stringa.

Il modo sbagliato per convertire una stringa in un intero in Python

I programmatori provenienti da altri linguaggi di programmazione possono tentare di eseguire la seguente concatenazione di stringhe, che produrrà un errore:

age = 18 string = "Hello, I am " + age + " years old"

Puoi eseguire questo codice su repl.it.

L'errore che si presenta è:

Traceback (most recent call last): File "python", line 3, in  TypeError: must be str, not int

Qui, TypeError: must be str, not intindica che il numero intero deve essere prima convertito in una stringa prima di poter essere concatenato.

Il modo corretto per convertire una stringa in un numero intero in Python

Ecco un semplice esempio di concatenazione:

age = 18 print("Hello, I am " + str(age) + " years old") # Output # Hello, I am 18 years old

Puoi eseguire questo codice su repl.it.

Ecco come stampare 1 2 3 4 5 6 7 8 9 10utilizzando una singola stringa:

result = "" for i in range(1, 11): result += str(i) + " " print(result) # Output # 1 2 3 4 5 6 7 8 9 10

Puoi eseguire il codice su repl.it.

Ecco una spiegazione riga per riga di come funziona il codice sopra:

  1. Prima di tutto viene assegnata una variabile "risultato" a una stringa vuota.
  2. Il ciclo for viene utilizzato per iterare su un elenco di numeri.
  3. Questo elenco di numeri viene generato utilizzando la funzione intervallo.
  4. quindi l'intervallo (1,11) genererà un elenco di numeri da 1 a 10.
  5. Ad ogni iterazione del ciclo for questa variabile 'i' assumerà valori da 1 a 10.
  6. Alla prima iterazione quando la variabile i = 1, quindi la variabile [risultato = risultato + str (i) + “(carattere spazio)”], str (i) converte la 'i' che è un valore intero in un valore stringa.
  7. Poiché i = 1, alla prima iterazione risulta infine = 1.
  8. E lo stesso processo continua fino a quando i = 10 e infine dopo l'ultima iterazione risultato = 1 2 3 4 5 6 7 8 9 10.
  9. Pertanto, quando finalmente stampiamo il risultato dopo il ciclo for, l'output sulla console è '1 2 3 4 5 6 7 8 9 10'.

Spero che tu l'abbia trovato utile. Buona codifica.