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
Type conversion (int, float, string)
📖 Scenario: Imagine you are working in a small shop. You receive product prices as strings from the cashier's system, but you need to calculate totals and show prices properly formatted.
🎯 Goal: You will create variables with prices as strings, convert them to numbers to calculate totals, and then convert the result back to a string to display.
📋 What You'll Learn
Create variables with prices as strings
Create a variable to hold a discount rate as a float
Convert string prices to integers or floats for calculation
Calculate the total price after discount
Convert the total price back to a string for display
Print the final total price as a string
💡 Why This Matters
🌍 Real World
In shops or online stores, prices often come as text and need conversion to numbers for calculations like totals and discounts.
💼 Career
Understanding type conversion is essential for data processing, user input handling, and preparing data for calculations in many programming jobs.
Progress0 / 4 steps
1
Create price variables as strings
Create three variables called price1, price2, and price3 with the string values '100', '250.5', and '399' respectively.
Python
Hint
Use quotes around numbers to make them strings, like price1 = '100'.
2
Create a discount rate as a float
Create a variable called discount_rate and set it to the float value 0.1 (which means 10%).
Python
Hint
Write discount_rate = 0.1 without quotes to make it a float.
3
Convert prices to numbers and calculate total
Convert price1 and price3 to integers using int(), convert price2 to a float using float(), then calculate the total price after applying the discount rate. Store the result in a variable called total_price.
Python
Hint
Use int() for whole numbers and float() for decimal numbers. Then add and apply discount.
4
Convert total to string and print
Convert the total_price to a string using str() and print it with the message: Total price after discount: followed by the converted string.
Python
Hint
Use str(total_price) to convert the number to text, then print with the message.
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
Step 1: Understand int() function behavior
The int() function converts a string containing digits into an integer number.
Step 2: Apply int() to '123'
Applying int('123') converts the string to the integer 123.
Final Answer:
Converts the string to the integer 123 -> Option A
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
Step 1: Recall correct function call syntax
Functions in Python require parentheses around arguments, e.g., int(3.14).
Step 2: Check each option
int(3.14) uses correct syntax. Others have syntax errors or invalid argument formats.
Final Answer:
int(3.14) -> Option C
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
Step 1: Convert string to float
float('45.67') converts the string to the float number 45.67.
Step 2: Convert float to int
int(45.67) converts the float to integer by dropping the decimal part, resulting in 45.
Final Answer:
45 -> Option B
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
Step 1: Identify cause of error
Trying to convert 'abc' to int causes a ValueError because 'abc' is not numeric.
Step 2: Fix by using numeric string
Replacing 'abc' with a string of digits like '123' allows int() to convert successfully.
Final Answer:
Change 'abc' to a string of digits like '123' -> Option D
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
Step 1: Understand list contents
The list has strings representing integers and floats, e.g., '20.5' and '40.0'.
Step 2: Convert strings to float first
Direct int() on '20.5' causes error, so convert to float first: float('20.5') = 20.5.
Step 3: Convert float to int
Then convert float to int with int(20.5) = 20, dropping decimals.
Final Answer:
Use [int(float(x)) for x in list] -> Option A
Quick Check:
int(float('20.5')) = 20 [OK]
Hint: Convert string to float, then to int for decimals [OK]