Bird
Raised Fist0
Pythonprogramming~10 mins

Numeric values (int and float behavior) 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 - Numeric values (int and float behavior)
Start
Assign int or float
Use in expressions
Operations: +, -, *, /
Result type depends on operands
End
This flow shows how Python handles numbers: assigning integers or floats, using them in math, and how results keep or change types.
Execution Sample
Python
a = 5
b = 2
c = a / b
d = a // b
e = a + 0.5
Assign integers and floats, then do division (normal and floor) and addition with float.
Execution Table
StepActionVariablesResultNotes
1Assign a = 5a=55a is integer
2Assign b = 2a=5, b=22b is integer
3Calculate c = a / ba=5, b=22.5Division / always float
4Calculate d = a // ba=5, b=22Floor division // truncates to int
5Calculate e = a + 0.5a=5, e=5.55.5int + float = float
6Enda=5, b=2, c=2.5, d=2, e=5.5-All variables assigned
💡 All operations done; variables hold expected int or float values.
Variable Tracker
VariableStartAfter Step 1After Step 2After Step 3After Step 4After Step 5Final
aundefined555555
bundefinedundefined22222
cundefinedundefinedundefined2.52.52.52.5
dundefinedundefinedundefinedundefined222
eundefinedundefinedundefinedundefinedundefined5.55.5
Key Moments - 3 Insights
Why does division (/) result in a float even if both numbers are integers?
Because Python's / operator always returns a float to keep decimal precision, as shown in step 3 where 5 / 2 gives 2.5.
What is the difference between / and // operators?
The / operator returns a float division result (step 3), while // returns the floor (integer part) of the division (step 4).
Why does adding an int and a float result in a float?
Python converts int to float in mixed operations to avoid losing decimal info, so 5 + 0.5 becomes 5.5 (step 5).
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table, what is the value of variable 'c' after step 3?
A2
B2.5
C3
D5
💡 Hint
Check the 'Result' column in row for step 3 in execution_table.
At which step does the floor division operator (//) get used?
AStep 4
BStep 3
CStep 2
DStep 5
💡 Hint
Look for the action mentioning '//' in the execution_table.
If variable 'a' was changed to 6, what would be the new value of 'd' after step 4?
A2.5
B2
C3
D4
💡 Hint
Floor division truncates the decimal, so 6 // 2 equals 3 (see step 4 logic).
Concept Snapshot
Numeric values in Python:
- int: whole numbers (e.g., 5)
- float: decimal numbers (e.g., 2.5)
- / always returns float
- // returns floor int
- int + float = float
Use these rules to predict results.
Full Transcript
This lesson shows how Python handles numbers. We assign integers and floats, then do math operations. Division with / always gives a float result, even if both numbers are integers. Floor division // gives the integer part only. Adding an integer and a float results in a float. Variables change step by step as operations happen, and the type of result depends on the operation used.

Practice

(1/5)
1.

Which of the following is an example of a float in Python?

1. 42
2. 3.14
3. -7
4. 0
easy
A. 42
B. 3.14
C. -7
D. 0

Solution

  1. Step 1: Understand what a float is

    A float is a number with a decimal point, like 3.14.
  2. Step 2: Identify the float among options

    Only 3.14 has a decimal point, so it is a float.
  3. Final Answer:

    3.14 -> Option B
  4. Quick Check:

    Float = 3.14 [OK]
Hint: Floats always have a decimal point [OK]
Common Mistakes:
  • Choosing integers as floats
  • Confusing negative numbers with floats
  • Ignoring decimal points
2.

Which of the following is the correct way to convert the float 5.7 to an integer in Python?

easy
A. float(5.7)
B. int(5,7)
C. int('5.7')
D. int(5.7)

Solution

  1. Step 1: Recall how to convert float to int

    Use the int() function with a float value as argument.
  2. Step 2: Check each option

    int(5.7) correctly converts float 5.7 to int 5. int('5.7') causes error, int(5,7) is invalid syntax.
  3. Final Answer:

    int(5.7) -> Option D
  4. Quick Check:

    int(5.7) = 5 [OK]
Hint: Use int() directly on float to convert [OK]
Common Mistakes:
  • Trying int() on string with decimal
  • Using wrong syntax like int(5,7)
  • Using float() instead of int()
3.

What is the output of the following code?

x = 7 / 2
print(type(x))
print(x)
medium
A. <class 'int'>\n3.5
B. <class 'int'>\n3
C. <class 'float'>\n3.5
D. SyntaxError

Solution

  1. Step 1: Understand division operator in Python 3

    Division with / always returns a float, even if numbers divide evenly.
  2. Step 2: Evaluate the code

    7 / 2 = 3.5, which is a float. So type(x) is <class 'float'> and x is 3.5.
  3. Final Answer:

    <class 'float'>\n3.5 -> Option C
  4. Quick Check:

    7 / 2 = 3.5 float [OK]
Hint: Division / always returns float in Python 3 [OK]
Common Mistakes:
  • Assuming integer division with /
  • Confusing type output format
  • Expecting 3 instead of 3.5
4.

Find the error in this code snippet:

num = 4.8
num_int = int(num)
print(num_int + ' is the integer value')
medium
A. Cannot add int and str directly
B. No error, code runs fine
C. Syntax error in print statement
D. Cannot convert float to int

Solution

  1. Step 1: Check conversion from float to int

    int(4.8) converts float 4.8 to int 4 without error.
  2. Step 2: Check print statement

    Adding int and string directly causes a TypeError in Python.
  3. Final Answer:

    Cannot add int and str directly -> Option A
  4. Quick Check:

    int + str causes TypeError [OK]
Hint: Convert int to str before adding to string [OK]
Common Mistakes:
  • Thinking int() conversion fails
  • Ignoring type mismatch in addition
  • Assuming print syntax error
5.

You have a list of mixed numbers: nums = [1, 2.5, 3, 4.75, 5]. You want to create a new list with all numbers converted to integers by dropping decimals. Which code correctly does this?

hard
A. new_nums = [int(n) for n in nums]
B. new_nums = [float(n) for n in nums]
C. new_nums = [str(int(n)) for n in nums]
D. new_nums = [round(n) for n in nums]

Solution

  1. Step 1: Understand the goal

    We want to convert all numbers to int by dropping decimals, not rounding.
  2. Step 2: Evaluate each option

    C uses int() which drops decimals correctly. A converts to string, not int. B converts to float, not int. D rounds numbers, which changes values.
  3. Final Answer:

    new_nums = [int(n) for n in nums] -> Option A
  4. Quick Check:

    int() drops decimals, list comprehension applies to all [OK]
Hint: Use int() in list comprehension to drop decimals [OK]
Common Mistakes:
  • Using round() instead of int()
  • Converting to string instead of int
  • Using float() which keeps decimals