Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Grundlæggende om Typekonvertering | Interaktioner Mellem Datatyper
Datatyper i Python

bookGrundlæggende om Typekonvertering

Typekonvertering muliggør overgangen mellem centrale Python-typer, så værdier kan sammenlignes, beregnes eller vises.

Konvertering til int

int(x) opretter et heltal.

  • Fra et heltal: returnerer det samme tal;
  • Fra et flydende tal: afkorter mod nul (for eksempel, int(2.9) returnerer 2, int(-2.9) returnerer -2);
  • Fra en streng: strengen skal repræsentere et heltal (valgfri mellemrum og fortegn accepteres).

Gyldige konverteringer

12345678910
# Converting different types of user input to integers age_input = " 42 " temperature_reading = 2.9 negative_balance = -2.9 print(int(age_input)) # 42 → clean string converted to int print(int(temperature_reading)) # 2 → fractional part truncated print(int(negative_balance)) # -2 → also truncates toward zero print(int("7")) # 7 → string number becomes integer print(int(" -15 ")) # -15 → handles spaces and sign
copy

Disse udløser ValueError

12
int("2.5") # ValueError - not an integer string int("42a") # ValueError
copy

Konvertering til float

float(x) opretter et flydende tal.

  • Fungerer for heltal og decimaltal eller streng med videnskabelig notation;
  • Kommaer er ikke decimalseparatorer i Python.

Gyldige konverteringer

12345678
# Converting numeric inputs for a shopping calculator quantity = 3 price_str = "2.5" discount_factor = "1e3" # scientific notation for 1000 print(float(quantity)) # 3.0 → integer converted to float print(float(price_str)) # 2.5 → string price converted to float print(float(discount_factor)) # 1000.0 → converts from scientific notation
copy

Disse udløser ValueError

1
float("2,5") # ValueError - use a dot, not a comma
copy

Konvertering til str

str(x) opretter en menneskelæsbar strengrepræsentation. Foretræk f-strenge ved opbygning af beskeder.

12345678910
# Formatting a student's exam result student_age = 42 average_score = 3.5 print(str(student_age)) # "42" → number converted to string print(str(average_score)) # "3.5" → float converted to string student_name, final_score = "Ada", 98 report_message = f"{student_name} scored {final_score} points on the exam." print(report_message)
copy

Konvertering til bool

bool(x) følger Pythons sandhedsværdiregler.

  • Tal: 0 er False, alle andre tal er True;
  • Strenge: "" (tom) er False, enhver ikke-tom streng er True (også "0" og "False").
123456789101112
# Checking how different user inputs behave as boolean values login_attempts = 0 notifications = 7 username = "" user_id = "0" status = "False" print(bool(login_attempts)) # False → 0 means no attempts yet print(bool(notifications)) # True → non-zero means new notifications print(bool(username)) # False → empty string means no username entered print(bool(user_id)) # True → any non-empty string is truthy print(bool(status)) # True → text "False" is still a non-empty string
copy

Fejl at undgå

  • int("2.5") udløser ValueError - parse som float() først, derefter afkort eller rund af;
  • Lokal vane: "2,5" er ugyldig - brug "2.5";
  • Understreger i inputstrenge: "1_000" er ugyldig - fjern understreger først: "1_000".replace("_", "");
  • Sandhedsværdi-overraskelse: bool("0") er True - sammenlign strengens indhold eksplicit om nødvendigt, for eksempel s == "0".

1. Hvad giver hver linje som resultat?

2. Hvilket kald udløser en ValueError?

3. Vælg den korrekte påstand.

question-icon

Hvad giver hver linje som resultat?

int(3.9)
int(" -8 ")

bool("0")

Click or drag`n`drop items and fill in the blanks

question mark

Hvilket kald udløser en ValueError?

Select the correct answer

question mark

Vælg den korrekte påstand.

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 1

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Awesome!

Completion rate improved to 3.45

bookGrundlæggende om Typekonvertering

Stryg for at vise menuen

Typekonvertering muliggør overgangen mellem centrale Python-typer, så værdier kan sammenlignes, beregnes eller vises.

Konvertering til int

int(x) opretter et heltal.

  • Fra et heltal: returnerer det samme tal;
  • Fra et flydende tal: afkorter mod nul (for eksempel, int(2.9) returnerer 2, int(-2.9) returnerer -2);
  • Fra en streng: strengen skal repræsentere et heltal (valgfri mellemrum og fortegn accepteres).

Gyldige konverteringer

12345678910
# Converting different types of user input to integers age_input = " 42 " temperature_reading = 2.9 negative_balance = -2.9 print(int(age_input)) # 42 → clean string converted to int print(int(temperature_reading)) # 2 → fractional part truncated print(int(negative_balance)) # -2 → also truncates toward zero print(int("7")) # 7 → string number becomes integer print(int(" -15 ")) # -15 → handles spaces and sign
copy

Disse udløser ValueError

12
int("2.5") # ValueError - not an integer string int("42a") # ValueError
copy

Konvertering til float

float(x) opretter et flydende tal.

  • Fungerer for heltal og decimaltal eller streng med videnskabelig notation;
  • Kommaer er ikke decimalseparatorer i Python.

Gyldige konverteringer

12345678
# Converting numeric inputs for a shopping calculator quantity = 3 price_str = "2.5" discount_factor = "1e3" # scientific notation for 1000 print(float(quantity)) # 3.0 → integer converted to float print(float(price_str)) # 2.5 → string price converted to float print(float(discount_factor)) # 1000.0 → converts from scientific notation
copy

Disse udløser ValueError

1
float("2,5") # ValueError - use a dot, not a comma
copy

Konvertering til str

str(x) opretter en menneskelæsbar strengrepræsentation. Foretræk f-strenge ved opbygning af beskeder.

12345678910
# Formatting a student's exam result student_age = 42 average_score = 3.5 print(str(student_age)) # "42" → number converted to string print(str(average_score)) # "3.5" → float converted to string student_name, final_score = "Ada", 98 report_message = f"{student_name} scored {final_score} points on the exam." print(report_message)
copy

Konvertering til bool

bool(x) følger Pythons sandhedsværdiregler.

  • Tal: 0 er False, alle andre tal er True;
  • Strenge: "" (tom) er False, enhver ikke-tom streng er True (også "0" og "False").
123456789101112
# Checking how different user inputs behave as boolean values login_attempts = 0 notifications = 7 username = "" user_id = "0" status = "False" print(bool(login_attempts)) # False → 0 means no attempts yet print(bool(notifications)) # True → non-zero means new notifications print(bool(username)) # False → empty string means no username entered print(bool(user_id)) # True → any non-empty string is truthy print(bool(status)) # True → text "False" is still a non-empty string
copy

Fejl at undgå

  • int("2.5") udløser ValueError - parse som float() først, derefter afkort eller rund af;
  • Lokal vane: "2,5" er ugyldig - brug "2.5";
  • Understreger i inputstrenge: "1_000" er ugyldig - fjern understreger først: "1_000".replace("_", "");
  • Sandhedsværdi-overraskelse: bool("0") er True - sammenlign strengens indhold eksplicit om nødvendigt, for eksempel s == "0".

1. Hvad giver hver linje som resultat?

2. Hvilket kald udløser en ValueError?

3. Vælg den korrekte påstand.

question-icon

Hvad giver hver linje som resultat?

int(3.9)
int(" -8 ")

bool("0")

Click or drag`n`drop items and fill in the blanks

question mark

Hvilket kald udløser en ValueError?

Select the correct answer

question mark

Vælg den korrekte påstand.

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 1
some-alt