Bird
Raised Fist0
Pythonprogramming~10 mins

Type conversion (int, float, string) in Python - Step-by-Step Execution

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Concept Flow - Type conversion (int, float, string)
Start with a value
Choose conversion type
int()
Converted value of chosen type
Use value
Start with a value, pick a conversion function (int, float, or str), convert the value, then use the new type.
Execution Sample
Python
x = '123'
y = int(x)
z = float(y)
s = str(z)
Convert string '123' to int, then to float, then back to string.
Execution Table
StepVariableValue BeforeConversion FunctionValue AfterType After
1xNoneAssign '123''123'str
2y'123'int(x)123int
3z123float(y)123.0float
4s123.0str(z)'123.0'str
5----End of conversions
💡 All conversions done, final value s is string '123.0'
Variable Tracker
VariableStartAfter Step 1After Step 2After Step 3After Step 4
xNone'123''123''123''123'
yNoneNone123123123
zNoneNoneNone123.0123.0
sNoneNoneNoneNone'123.0'
Key Moments - 3 Insights
Why does int('123') work but int('123.0') causes an error?
int() expects a string that looks like a whole number. '123' works (see step 2), but '123.0' is a decimal string and causes an error.
Does converting int to float change the value?
No, converting int 123 to float 123.0 keeps the number the same but changes its type (see step 3).
Why does str() add quotes around the value?
str() creates a string representation. The quotes show it's a string type (see step 4). The actual value is '123.0' without quotes in memory.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table, what is the type of variable y after step 2?
Astr
Bfloat
Cint
DNone
💡 Hint
Check the 'Type After' column in row for step 2.
At which step does the variable z get assigned a float value?
AStep 2
BStep 3
CStep 1
DStep 4
💡 Hint
Look at the 'Conversion Function' and 'Type After' columns for variable z.
If we tried int('123.0') instead of int('123'), what would happen?
AIt raises an error
BIt converts successfully to 123
CIt converts to 123.0 as float
DIt converts to string '123.0'
💡 Hint
Recall the key moment about int() conversion from string with decimal.
Concept Snapshot
Type conversion changes a value's type using int(), float(), or str().
int() converts to whole numbers, float() to decimals, str() to text.
Conversions must be valid (e.g., int('123') works, int('123.0') errors).
Use conversions to change data types for calculations or display.
Full Transcript
This lesson shows how Python converts values between int, float, and string types. We start with a string '123', convert it to an integer 123, then to a float 123.0, and finally back to a string '123.0'. Each step changes the variable's type and value representation. We see that int() requires a string without decimals, float() can convert integers to decimals, and str() turns numbers into text. Understanding these conversions helps when you need to do math or show numbers as text.

Practice

(1/5)
1. What does the Python function int() do when applied to a string like '123'?
easy
A. Converts the string to the integer 123
B. Converts the string to the float 123.0
C. Leaves the string unchanged
D. Causes a syntax error

Solution

  1. Step 1: Understand int() function behavior

    The int() function converts a string containing digits into an integer number.
  2. Step 2: Apply int() to '123'

    Applying int('123') converts the string to the integer 123.
  3. Final Answer:

    Converts the string to the integer 123 -> Option A
  4. Quick Check:

    int('123') = 123 [OK]
Hint: int() turns digit strings into whole numbers [OK]
Common Mistakes:
  • Thinking int() converts to float
  • Expecting string unchanged
  • Confusing with syntax error
2. Which of the following is the correct syntax to convert the float number 3.14 to an integer in Python?
easy
A. int(3,14)
B. int '3.14'
C. int(3.14)
D. int(3.14.0)

Solution

  1. Step 1: Recall correct function call syntax

    Functions in Python require parentheses around arguments, e.g., int(3.14).
  2. Step 2: Check each option

    int(3.14) uses correct syntax. Others have syntax errors or invalid argument formats.
  3. Final Answer:

    int(3.14) -> Option C
  4. Quick Check:

    int(3.14) is valid syntax [OK]
Hint: Use parentheses with int() for conversion [OK]
Common Mistakes:
  • Omitting parentheses
  • Using commas instead of dots
  • Adding extra dots in numbers
3. What is the output of this code?
value = '45.67'
result = float(value)
print(int(result))
medium
A. 46
B. 45
C. Error
D. 45.67

Solution

  1. Step 1: Convert string to float

    float('45.67') converts the string to the float number 45.67.
  2. Step 2: Convert float to int

    int(45.67) converts the float to integer by dropping the decimal part, resulting in 45.
  3. Final Answer:

    45 -> Option B
  4. Quick Check:

    int(float('45.67')) = 45 [OK]
Hint: int() drops decimals, does not round [OK]
Common Mistakes:
  • Expecting rounding to 46
  • Printing float instead of int
  • Confusing string and number types
4. The code below causes an error. What is the fix?
num = 'abc'
converted = int(num)
print(converted)
medium
A. Use float() instead of int()
B. Add quotes around int
C. Remove the int() conversion
D. Change 'abc' to a string of digits like '123'

Solution

  1. Step 1: Identify cause of error

    Trying to convert 'abc' to int causes a ValueError because 'abc' is not numeric.
  2. Step 2: Fix by using numeric string

    Replacing 'abc' with a string of digits like '123' allows int() to convert successfully.
  3. Final Answer:

    Change 'abc' to a string of digits like '123' -> Option D
  4. Quick Check:

    int('123') works, int('abc') errors [OK]
Hint: int() needs numeric strings, not letters [OK]
Common Mistakes:
  • Using float() on non-numeric string
  • Removing conversion but expecting int
  • Adding quotes around function name
5. You have a list of mixed strings representing numbers: ['10', '20.5', '30', '40.0']. How do you convert all to integers correctly in Python?
hard
A. Use [int(float(x)) for x in list]
B. Use [int(x) for x in list]
C. Use [float(int(x)) for x in list]
D. Use [str(int(x)) for x in list]

Solution

  1. Step 1: Understand list contents

    The list has strings representing integers and floats, e.g., '20.5' and '40.0'.
  2. Step 2: Convert strings to float first

    Direct int() on '20.5' causes error, so convert to float first: float('20.5') = 20.5.
  3. Step 3: Convert float to int

    Then convert float to int with int(20.5) = 20, dropping decimals.
  4. Final Answer:

    Use [int(float(x)) for x in list] -> Option A
  5. Quick Check:

    int(float('20.5')) = 20 [OK]
Hint: Convert string to float, then to int for decimals [OK]
Common Mistakes:
  • Trying int() directly on float strings
  • Swapping int and float conversions
  • Converting to string instead of int