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
Using abs() and round() in Python
๐ Scenario: You are working on a simple weather app that shows temperature differences and rounded temperatures for easy reading.
๐ฏ Goal: Build a small program that calculates the absolute difference between two temperatures and rounds a temperature value to the nearest whole number.
๐ What You'll Learn
Create variables with exact temperature values
Use the abs() function to find the absolute difference
Use the round() function to round a temperature
Print the results exactly as instructed
๐ก Why This Matters
๐ Real World
Weather apps often show temperature differences and rounded temperatures to help users understand the weather easily.
๐ผ Career
Knowing how to use abs() and round() is useful in data processing, financial calculations, and any job involving numbers.
Progress0 / 4 steps
1
Create temperature variables
Create two variables called temp_morning and temp_evening with the values -3.7 and 5.2 respectively.
Python
Hint
Use the assignment operator = to set the values.
2
Calculate absolute temperature difference
Create a variable called temp_diff and set it to the absolute difference between temp_evening and temp_morning using the abs() function.
Python
Hint
Use abs() around the subtraction to get a positive result.
3
Round the morning temperature
Create a variable called rounded_morning and set it to the value of temp_morning rounded to the nearest whole number using the round() function.
Python
Hint
Use round() with the variable inside the parentheses.
4
Print the results
Print the values of temp_diff and rounded_morning exactly as shown below, each on its own line: Absolute difference: 8.9 Rounded morning temperature: -4
Python
Hint
Use print() with f-strings to show the variable values.
Practice
(1/5)
1. What does the Python function abs() do when given a number?
easy
A. Rounds the number to the nearest integer
B. Returns the negative of the number
C. Converts the number to a string
D. Returns the positive distance of the number from zero
Solution
Step 1: Understand the purpose of abs()
The abs() function returns how far a number is from zero without considering its sign.
Step 2: Compare with other options
Rounding, string conversion, or negation are different functions; only abs() returns the positive distance.
Final Answer:
Returns the positive distance of the number from zero -> Option D
Quick Check:
abs(-5) = 5 [OK]
Hint: Think: absolute means distance without sign [OK]
Common Mistakes:
Confusing abs() with round()
Thinking abs() changes the number's sign
Assuming abs() converts to string
2. Which of the following is the correct way to round the number 3.14159 to 2 decimal places in Python?
easy
A. round(3.14159, '2')
B. round(3.14159.2)
C. round(3.14159, 2)
D. round(3.14159, 2.0)
Solution
Step 1: Check the syntax of round()
The round() function takes a number and an integer for decimal places, like round(number, digits).
Step 2: Validate each option
round(3.14159, 2) uses correct syntax with an integer 2. round(3.14159.2) has a dot instead of a comma. round(3.14159, '2') uses a string '2' which is invalid. round(3.14159, 2.0) uses a float 2.0 which is accepted as decimal places.
Final Answer:
round(3.14159, 2) -> Option C
Quick Check:
round(3.14159, 2) = 3.14 [OK]
Hint: Use comma and integer for decimals in round() [OK]
Common Mistakes:
Using dot instead of comma between arguments
Passing decimal places as string
Passing decimal places as float
3. What is the output of this code?
print(abs(-7.8))
print(round(2.675, 2))
medium
A. 7.8 and 2.68
B. 7.8 and 2.67
C. -7.8 and 2.68
D. -7.8 and 2.67
Solution
Step 1: Calculate abs(-7.8)
The absolute value of -7.8 is 7.8, so the first print outputs 7.8.
Step 2: Calculate round(2.675, 2)
Due to floating-point rounding, 2.675 rounds to 2.67 (not 2.68) in Python.
Final Answer:
7.8 and 2.67 -> Option B
Quick Check:
abs(-7.8) = 7.8, round(2.675, 2) = 2.67 [OK]
Hint: Remember floating-point quirks in round() [OK]
Common Mistakes:
Expecting round(2.675, 2) to be 2.68
Forgetting abs() returns positive value
Mixing signs in output
4. The following code has an error. What is it?
num = -4.5
print(round(abs(num), 1.0))
medium
A. round() decimal places must be an integer, not float
B. abs() cannot take negative numbers
C. print() syntax is incorrect
D. num variable is not defined
Solution
Step 1: Analyze abs(num)
The abs() function works fine with negative numbers, so no error here.
Step 2: Check round() arguments
The second argument to round() must be an integer, but 1.0 is a float, causing a TypeError.
Final Answer:
round() decimal places must be an integer, not float -> Option A
Quick Check:
round(..., 1.0) causes error [OK]
Hint: Decimal places in round() must be int, not float [OK]
Common Mistakes:
Thinking abs() can't take negatives
Passing float instead of int for decimals
Assuming print() syntax error
5. You have a list of numbers: nums = [-3.1415, 2.718, -1.414, 0]. You want to create a new list with the absolute values rounded to 2 decimal places. Which code does this correctly?
hard
A. rounded = [round(abs(x), 2) for x in nums]
B. rounded = [round(x, 2) for x in nums]
C. rounded = [round(abs(x), '2') for x in nums]
D. rounded = [round(abs(x), 2.0) for x in nums]
Solution
Step 1: Understand the goal
We want absolute values first, then round them to 2 decimals.
Step 2: Check each option
rounded = [round(abs(x), 2) for x in nums] correctly applies abs() then round() with integer 2. rounded = [round(x, 2) for x in nums] rounds but does not apply abs(), leaving negative values negative. rounded = [round(abs(x), '2') for x in nums] uses string '2' which is invalid. rounded = [round(abs(x), 2.0) for x in nums] uses float 2.0 which is accepted as decimal places.
Final Answer:
rounded = [round(abs(x), 2) for x in nums] -> Option A
Quick Check:
abs then round with int decimals [OK]
Hint: Apply abs() before round() with integer decimals [OK]