Grundlæ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)returnerer2,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
Disse udløser ValueError
12int("2.5") # ValueError - not an integer string int("42a") # ValueError
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
Disse udløser ValueError
1float("2,5") # ValueError - use a dot, not a comma
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)
Konvertering til bool
bool(x) følger Pythons sandhedsværdiregler.
- Tal:
0erFalse, alle andre tal erTrue; - Strenge:
""(tom) erFalse, enhver ikke-tom streng erTrue(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
Fejl at undgå
int("2.5")udløserValueError- parse somfloat()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")erTrue- sammenlign strengens indhold eksplicit om nødvendigt, for eksempels == "0".
1. Hvad giver hver linje som resultat?
2. Hvilket kald udløser en ValueError?
3. Vælg den korrekte påstand.
Tak for dine kommentarer!
Spørg AI
Spørg AI
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
Grundlæ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)returnerer2,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
Disse udløser ValueError
12int("2.5") # ValueError - not an integer string int("42a") # ValueError
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
Disse udløser ValueError
1float("2,5") # ValueError - use a dot, not a comma
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)
Konvertering til bool
bool(x) følger Pythons sandhedsværdiregler.
- Tal:
0erFalse, alle andre tal erTrue; - Strenge:
""(tom) erFalse, enhver ikke-tom streng erTrue(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
Fejl at undgå
int("2.5")udløserValueError- parse somfloat()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")erTrue- sammenlign strengens indhold eksplicit om nødvendigt, for eksempels == "0".
1. Hvad giver hver linje som resultat?
2. Hvilket kald udløser en ValueError?
3. Vælg den korrekte påstand.
Tak for dine kommentarer!