Python-streng til Int: Hvordan konvertere en streng til et heltall i Python

I motsetning til mange andre programmeringsspråk der ute, skriver Python ikke implisitt heltall (eller flyter) til strenger når du sammenkobler dem til strenger.

Heldigvis har Python en hendig innebygd funksjon str()som vil konvertere argumentet som sendes til et strengformat.

Den gale måten å konvertere en streng til et heltall i Python

Programmerere som kommer fra andre programmeringsspråk, kan prøve å gjøre følgende strengkonkatenering, noe som vil gi en feil:

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

Du kan kjøre denne koden på repl.it.

Feilen som dukker opp er:

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

Her TypeError: must be str, not intindikerer at heltallet først må konverteres til en streng før det kan sammenkobles.

Den riktige måten å konvertere en streng til et heltall i Python

Her er et enkelt sammenhengende eksempel:

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

Du kan kjøre denne koden på repl.it.

Slik skriver du ut 1 2 3 4 5 6 7 8 9 10med en enkelt streng:

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

Du kan kjøre koden på repl.it.

Her er en linje for linje-forklaring på hvordan koden ovenfor fungerer:

  1. Først og fremst tildeles en variabel 'resultat' til en tom streng.
  2. For-loop brukes til å gjenta over en liste med tall.
  3. Denne listen over tall genereres ved hjelp av rekkevidde-funksjonen.
  4. så rekkevidde (1,11) kommer til å generere en liste med tall fra 1 til 10.
  5. På hver for loop-iterasjon vil denne 'i' -variabelen ta opp verdier fra 1 til 10.
  6. Ved første iterasjon når variabelen i = 1, deretter konverterer variabelen [resultat = resultat + str (i) + "(mellomromstegn)"], str (i) 'i' som er et heltall til en strengverdi.
  7. Siden i = 1, på den første iterasjonen endelig resultat = 1.
  8. Og den samme prosessen fortsetter til i = 10 og til slutt etter siste iterasjonsresultat = 1 2 3 4 5 6 7 8 9 10.
  9. Derfor når vi endelig skriver ut resultatet etter for loop er utgangen på konsollen '1 2 3 4 5 6 7 8 9 10'.

Jeg håper du har funnet dette nyttig. God koding.